name = input('Enter name here:')
pyc = input('enter pyc :')
tpy = input('enter tpy:')
percent = (pyc / tpy) * 100;
print (percent)
input('press enter to quit')
このプログラムを実行するたびに、これを取得します
TypeError: unsupported operand type(s) for /: 'str' and 'str'
pycをtpyで除算するにはどうすればよいですか?
代わりにそれらを整数に変換することにより:
_percent = (int(pyc) / int(tpy)) * 100;
_
python 3では、input()
関数は文字列を返します。これは常にです。これはPython 2;からの変更です; raw_input()
関数はinput()
に名前が変更されました。
あなたが最初にすべきことは、エラーメッセージを読むことを学ぶことです。それはあなたに何を伝えますか?divide演算子で2つの文字列を使用することはできません。
では、なぜそれらが文字列であり、どのようにして非文字列にするのかを自問してください。すべての入力は文字列を介して行われるため、これらは文字列です。そして非文字列を作る方法はそれらを変換することです。
文字列を整数に変換する1つの方法は、 int 関数を使用することです。例えば:
percent = (int(pyc) / int(tpy)) * 100
私は書いたでしょう:
percent = 100
while True:
try:
pyc = int(input('enter pyc :'))
tpy = int(input('enter tpy:'))
percent = (pyc / tpy) * percent
break
except ZeroDivisionError as detail:
print 'Handling run-time error:', detail