# This is a calcualtor
shape = raw_input('what shape do you want to calculate? rectangle, circle, triangle, square? ')
if shape == 'rectangle':
width = raw_input('Please tell me the width of rectangle: ')
height = raw_input('Please tell me the height of rectangle: ')
print 'the area of the rectange is: ', width*height
elif shape == 'circle':
radius = raw_input('Please tell me the radius of the circle: ')
print 'the area of the circle is: ', 3.14 * int(radius)**2
-2
A
答えて
2
raw_input
は文字列を返します。 width = int(raw_input(...))
を使用し、同じものをheight
として実際の整数に変換してください。デモ:
>>> width = raw_input('Please tell me the width of rectangle: ')
Please tell me the width of rectangle: 5
>>> width
'5'
>>> type(width)
<type 'str'>
>>> width * width
Traceback (most recent call last):
File "<input>", line 1, in <module>
TypeError: cannot multiply sequence by non-int of type 'str'
>>> width_int = int(width)
>>> width_int
5
>>> type(width_int)
<type 'int'>
>>> width_int * width_int
25
利用float
代わりのint
あなたは小数部を持つ数字をしたい場合。
0
width
& height
がstrであるため、can't multiply sequence of non-int of type 'str'
が得られます。
width = int(raw_input('Please tell me the width of rectangle: '))
使用のPython 3.xので:
width = int(input('Please tell me the width of rectangle: '))
デフォルトinput
するか、文字列を返すraw_input
使用のpython 2.xので。
小数点/浮動小数点数の代わりにint()
の代わりにfloat()
を使用します。
また、あなたは、単一の行に入力の両方を取ることがあります。
side = map(int, raw_input().split())
多分上記のケースではあなたの入力:あなたはwidth
& height
を含むリストside
を取得
そして、整数として。
+0
thxを参考にしてください。 – lookyourphone
関連する問題
- 1. 私はコードを実行した後に "なぜ型が 'float型'の非intでシーケンスを掛けることができないのですか?
- 2. Python - '' str '型の型の非intでシーケンスを掛けることができません?
- 3. "TypeError:型 'float'の非intでシーケンスを掛けることができません"?
- 4. TypeError: 'str'型の非整数でシーケンスを掛けることはできません
- 5. エラーメッセージが表示され続ける:「float型」の非int型シーケンスを掛けることはできません
- 6. エラー:「 'float型'のnon-intでシーケンスを掛けることができません」
- 7. TypeError: 'float型'の非整数でシーケンスを掛けることができません - floatに変換した後
- 8. "は、 'list'型の非int型でシーケンスを掛けることができません" pythonのエラー3
- 9. エラー "'float型のnon-intでシーケンスを掛けることはできません"
- 10. 'str'型のnon-intでシーケンスを掛けよう
- 11. Pythonで非整数型と整数型を掛ける
- 12. 'float'型の非整数でシーケンスを掛けることはできませんか?
- 13. IDEAL GASSES TypeError: 'float'型の非整数でシーケンスを掛けることはできません3.4.4?
- 14. なぜ幅と高さがオブジェクトにフィットしていないのですが回避策がありますか?
- 15. 非Int Pythonでシーケンスを掛けることはできません
- 16. ここでstrとintの型を取得するのはなぜですか?
- 17. ストリングストリームrdbuf()とstr()が私に異なる出力を与えているのはなぜですか?
- 18. TypeError例外:非整数型の「モジュール」によってシーケンスを乗算することができない
- 19. エラーを取得しています。「float型」の非int型でシーケンスを掛けることはできませんか?
- 20. numpy.dot()はTypeErrorを返します: 'float'型のnon-intでシーケンスを掛けることはできません
- 21. Resharperはこれらの列挙型が使用されていないと思うのはなぜですか?
- 22. これは私が持っているデータである...私はこのタスクは難しいことではないと思うが、私はそれを把握することができないように見えるPHP
- 23. フォームタグにどのように幅を与えることができますか?
- 24. DIV私はこれが可能であると思ういけないコンテナ
- 25. アクセス私はこれが可能だと思うが、これを与えられていないtypescriptですインターフェイス
- 26. TypeError:並べ替えることのできない型:str()<= int()エラー
- 27. Golangどのように整数と浮動小数点を掛けることができますか
- 28. 継承がうまくいかないと思うのはなぜですか?
- 29. intをboolに変換しようとしている私のforループがなぜですか?ここで
- 30. なぜコンパイラはEnvironment.Exitが返すことができると思いますか?
サンプル入力、誤った出力、目的の出力でコードを編集するのではなく、 'width'と' height'を 'int'にキャストしていないように見えます。 'width = int(raw_input( '矩形の幅を教えてください'))' – EdChum
'rectangle'では' width'と 'height'を整数に変換しません。また、両方の 'if'のprint文が間違っている場合は、文字列に数値を掛けているようです。 'print 'を試してみてください。%d'%(3.14 * int(radius)** 2)' https://pyformat.info/ – fips