Проблема с элементарным кодом игрой в кмд

Gorni_Kozel

Новичок
Пользователь
Дек 17, 2020
5
0
1
когда я даю заданные(или else) ответы во время работы скрипта функции co(), то что должно выводиться (print), не выводится и пишется ошибка
Traceback (most recent call last):
File "C:\Pyt\game.py", line 26, in <module>
co()
File "C:\Pyt\game.py", line 6, in co
otvet = int(input('\n\n[ВОПРОС]Ты консоль?...'))
ValueError: invalid literal for int() with base 10: 'Да'


Код:

per = str('Молоко') #имя персонажа
fr = str('Апельсин') #любимый фрукт персонажа, который в последующих задумках нужно угадать :D
run = True

def co():
otvet = int(input('\n\n[ВОПРОС]Ты консоль?...'))
if otvet == 'Да':
print('А почему я тебя тогда не вижу?...')
input('Скажи что ниубдь!')
elif otvet == 'Нет':
print('А кто тогда ты?')
else:
print('Твой ответ странный, можно без шуток? так да, или нет?')
co() # смысл этой функции тут тот, что если игрок не отвечает, то все что в функции "co" будет повторено, то есть использую как цикл
# тот деф что в верху, я просто хотел зациклить конкретный момент в else наиболее удобным для меня способом.
# как раз таки его я и хотел проверить, как столкнулся с проблемой, которую описал в топике.
otvet = input('Привет. Хочешь познать мою игру? Да/Нет: ')
while run:
if otvet == 'Да':
name = str(input('Начнем тогда!...\n[ВОПРОС]Как тебяя зовут?... '))
run = False
else:
print('Эта история явно не для тебя...'); break #ТАК ЖЕ проблема и тут, т.к слова в print(---) не пишутся!

print('Привет, '+name+'. Я расскажу тебе историю\nОна о том, как тяжело быть консолью...Ты консоль?... ')
co()




_________________________________

ошибка в консоле:
C:\Pyt>game.py
Привет. Хочешь познать мою игру? Да/Нет: Да
Начнем тогда!...
[ВОПРОС]Как тебяя зовут?... Давид
Привет, Давид. Я расскажу тебе историю
Она о том, как тяжело быть консолью...Ты консоль?...


[ВОПРОС]Ты консоль?...Да
Traceback (most recent call last):
File "C:\Pyt\game.py", line 26, in <module>
co()
File "C:\Pyt\game.py", line 6, in co
otvet = int(input('\n\n[ВОПРОС]Ты консоль?...'))
ValueError: invalid literal for int() with base 10: 'Да'
 

Gorni_Kozel

Новичок
Пользователь
Дек 17, 2020
5
0
1
для удобности скину файл со скриптом, ТАК как тут не отображается как нужно
 

Вложения

  • game.zip
    1 КБ · Просмотры: 1

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
ТАК как тут не отображается как нужно
Код вставляйте с помощью ... -> код -> Python и будет отображаться как нужно.
ValueError: invalid literal for int() with base 10: 'Да'
Ошибка возникает потому, что в этой строке
Python:
otvet = int(input('\n\n[ВОПРОС]Ты консоль?...'))
вы пытаетесь привести ответ к числу (int) и если пользователь введет не число - возникнет ошибка.
Чтобы исправить ошибку можно не приводить ответ к типу int:
Python:
otvet = input('\n\n[ВОПРОС]Ты консоль?...')
 
  • Мне нравится
Реакции: Gorni_Kozel

Gorni_Kozel

Новичок
Пользователь
Дек 17, 2020
5
0
1
Код вставляйте с помощью ... -> код -> Python и будет отображаться как нужно.

Ошибка возникает потому, что в этой строке
Python:
otvet = int(input('\n\n[ВОПРОС]Ты консоль?...'))
вы пытаетесь привести ответ к числу (int) и если пользователь введет не число - возникнет ошибка.
Чтобы исправить ошибку можно не приводить ответ к типу int:
Python:
otvet = input('\n\n[ВОПРОС]Ты консоль?...')

спасибо, только разбираюст с форумом и впредь буду знать)
что касается кода, - стыдно что ошибка в простой невнимательности... спасибо !
 

Форум IT Специалистов