Запускаю эту строчку кода, ввожу с клавиатуры
fsff
Выводится ошибка
Traceback (most recent call last):
File "без имени.py", line 1, in
questions = input ("Write any symbols")
File "", line 1, in
NameError: name 'fsff' is not defined
Ошибка не вылезает, если я ввожу с клавиатуры текст, обрамляя его с обоих сторон кавычками (например вот так "fsff")
Что я сделал не так?
Дома на Windows и Visual Studio 2017 всё работает без проблем, а тут вот такая ошибка непонятная..
cost1 = input ('Cost of your thing? ')
cost1 = float(cost1)
Country1 = input ('Your country? ')
Place1 = input ('Title of your state/city? ')
if Country1.upper() != 'CANADA':
print('You need no to pay addition')
print("${0:.2f}".format(cost1))
elif (Country1.upper() == 'CANADA' and (Place1.upper() == 'ONTARIO' or Place1.upper() == 'NEW BRUNSWICK' or Place1.upper() == 'NOVA SCOTIA')):
print ('Your charge is 13%')
cost1 = (((cost1 / 100) * 13) + cost1)
print("${0:.2f}".format(cost1))
elif (Country1.upper() == 'CANADA' and Place1.upper() == 'ALBERTA') :
print ('Your charge is 5 + 6%')
cost1 = ((((cost1 / 100) * 5) + (cost1 / 100) * 6) + cost1)
print("${0:.2f}".format(cost1))
elif (Country1.upper() == 'CANADA' and (Place1.upper() != 'ONTARIO' or Place1.upper() != 'NEW BRUNSWICK' or Place1.upper() != 'NOVA SCOTIA' or Place1.upper() != 'ALBERTA')):
print('Your charge is 11%')
cost1 = (((cost1 / 100) * 11) + cost1)
print("${0:.2f}".format(cost1))
Если при вопросе Your country или Your State я ввожу буквы без кавычек, то вот что вылазит:
Cost of your thing? 30
Your country? Canada
Traceback (most recent call last):
File "без имени.py", line 3, in <module>
Country1 = input ('Your country? ')
File "<string>", line 1, in <module>
NameError: name 'Canada' is not defined
------------------
(program exited with code: 1)
Press return to continue
Т.е. если я ввожу Canada - то ошибка, которую я указал выше, если ввожу "Canada" - то всё работает как надо
Alex_Weidman: да, с отличными от цифр символами в вводе на линуксе интерпретатор пытается сделать старый добрый eval(raw_input()) в python2.7, в 3 input() заменил собой raw_input()