22
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で割るにはどうすればよいですか?

4

5 に答える 5

27

代わりにそれらを整数に変換することによって:

percent = (int(pyc) / int(tpy)) * 100;

Python 3では、input()関数は文字列を返します。いつも。これはPython2からの変更です。raw_input()関数の名前がに変更されましたinput()

于 2013-03-05T22:53:43.557 に答える
16

最初にすべきことは、エラーメッセージの読み方を学ぶことです。除算演算子で2つの文字列を使用することはできません。

それで、なぜそれらが文字列であるのか、そしてどのようにしてそれらを非文字列にするのかを自問してください。すべての入力は文字列を介して行われるため、これらは文字列です。そして、not-stringsを作成する方法は、それらを変換することです。

文字列を整数に変換する1つの方法は、int関数を使用することです。例えば:

percent = (int(pyc) / int(tpy)) * 100
于 2013-03-05T22:53:58.453 に答える
1

私は書いたでしょう:

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
于 2013-03-06T02:49:46.200 に答える
1

forwars=dスラッシュには別のエラーがあります。

if we get this : def get_x(r): return path/'train'/r['fname']
is the same as def get_x(r): return path + 'train' + r['fname']
于 2020-06-24T19:32:32.863 に答える
-1
name = input ('What is your name?: ')
age = input('How old are you?: ')
date = input ('What year is it?: ')
year = (int(date) - int(age) + 100)

print('You\'ll be 100 in the year ', year)




#That's how I decided to hardcode it. You could get more specific with actual birthdates or else it'll probably be off by a year unless your bday passed.
于 2022-01-10T16:31:38.453 に答える