2013-09-14 5 views
0

Я новичок в программировании Я решил, что сделаю базовую математическую игру. Я начал распечатать («ваше имя») имя = ввод() print («привет» + имя + «я - steve, и это мой математический тест. Готовы ли вы?»/0/0 » answer_1 = вход() ANSWER_1 = INT (ANSWER_1)Я продолжаю получать ошибку значения в python

if answer_1 ==Y: 
    print ("Good then lets get started") 

else: 
    print ("well you have started now so to late lets go") 

я пошел, чтобы проверить это, и каждый раз, когда я делаю я получаю это.

what is your name 
Callum 
hello Callum i am steve and this is my maths test. Are you ready? Y/N 
Y 
Traceback (most recent call last): 
    File "C:\Users\callum\Documents\programming\maths test.py", line 6, in <module> 
answer_1 = int (answer_1) 
ValueError: invalid literal for int() with base 10: 'Y' 
>>> 

Может кто-нибудь сказать мне, что я сделал неправильно

+1

как вы хотите питон преобразовать Y в целое? –

ответ

2

Просто:

if answer_1 == 'Y': 

не преобразовать его в целое ...

2

Вы пытаетесь преобразовать букву «у» в число 10 базы.

Извлеките эту строку из своего кода.

answer_1 = int (answer_1) 

Кроме того, когда вы проверяете для струнного равенства, не забудьте использовать кавычки или интерпретатор Python не будет знать, если вы имеете в виду имя переменной или фактической строки «Y».

if answer_1 =='Y': 
    print ("Good then lets get started") 
0

вы конвертируете строку ввода этой линии

answer_1 = input() 

в целое число

answer_1 = int (answer_1) 

это не будет работать, если вход «Y».

Затем вы сравните этот вход с Y, но вы должны сравнить со строкой «Y» здесь:

if answer_1 ==Y: 

наконец, я думаю, что это не очень хорошая идея, чтобы иметь пробелы в связанных с программированием filesnames.

+0

Что вы подразумеваете под словом «Я думаю, что это неплохая идея иметь пробелы в файлах, связанных с программированием»? –

+0

@MartinThompson имена файлов. изм. 'Файл 'C: \ Users \ callum \ Documents \ programming \ maths test.py" ' – mnagel

+2

А как я вижу - в программировании связанных имен файлов *! Лично я думаю, что все в порядке ... на самом деле, чем раньше вы привыкнете ждать пробелов в дорожках, тем лучше. «Обычные пользователи» используют их все время, а затем ваш код будет разбит на них. Я навсегда разочарован разнообразием профессионального программного обеспечения CAE, которое не справляется с пробелами в именах путей/именах файлов! –

0

удалить эту строку: answer_1 = int (answer_1)
и изменить if answer_1 == Y: к if answer_1 == 'Y':

Смежные вопросы