@FeinRar

Что за ошибка if chosenCave == str(friendlyCave): NameError: name 'chosenCave' is not defined?

1. import random
2. import time
3.
4. def displayIntro():
5. print('''Вы находитесь в землях, заселенных драконами.
6. Перед собой вы видите две пещеры. В одной из них — дружелюбный дракон,
7. который готов поделиться с вами своими сокровищами. Во второй —
8. жадный и голодный дракон, который мигом вас съест.''')
9. print()
10.
11. def chooseCave():
12. cave = ''
13. while cave != '1' and cave != '2':
14. print('В какую пещеру вы войдете? (нажмите клавишу 1 или 2)')
15. cave = input()
16.
17. return cave
18.
19. def checkCave(chosenCave):
20. print('Вы приближаетесь к пещере...')
21. time.sleep(2)
22. print('Ее темнота заставляет вас дрожать от страха...')
23. time.sleep(2)
24. print('Большой дракон выпрыгивает перед вами! Он раскрывает свою пасть и...')
25. print()
26. time.sleep(2)
27.
28. friendlyCave = random.randint(1, 2)
29.
30. if chosenCave == str(friendlyCave):
31. print('...делится с вами своими сокровищами!')
32. else:
33. print('...моментально вас съедает!')
34.
35. playAgain = 'да'
36. while playAgain == 'да' or playAgain == 'д':
37. displayIntro()
38. caveNumber = chooseCave()
39. checkCave(caveNumber)
40.
41. print('Попытаете удачу еще раз? (да или нет)')
42. playAgain = input()

Это пример из учебника я переписал этот код и в итоге выдает if chosenCave == str(friendlyCave): NameError: name 'chosenCave' is not defined
Вот как выглядит у меня

import random
import time

def displayIntro():
print('''Вы находитесь в землях, заселенных драконами. Перед собой вы видите две пещеры. В одной из них — дружелюбный дракон,
который готов поделиться с вами своими сокровищами. Во второй —
жадный и голодный дракон, который мигом вас съест.''')
print()

def chooseCave():
cave = ''
while cave != '1' and cave != '2':
print('В какую пещеру вы войдете? (нажмите клавишу 1 или 2)')
cave = input()
return cave

def checkCave(chosenCave):
print('Вы приближаетесь к пещере...')
time.sleep(2)
print('Ее темнота заставляет вас дрожать от страха...')
time.sleep(2)
print('Большой дракон выпрыгивает перед вами! Он раскрывает свою пасть и...')
print()
time.sleep(2)

friendlyCave = random.randint(1, 2)

if chosenCave == str(friendlyCave):
print('...делится с вами своими сокровищами!')
else:
print('...моментально вас съедает!')

playAgain = 'да'
while playAgain == 'да' or playAgain == 'д':
displayIntro()
caveNumber = chooseCave()
checkCave(caveNumber)

print('Попытаете удачу еще раз? (да или нет)')
playAgain = input()
  • Вопрос задан
  • 129 просмотров
Решения вопроса 1
EvgenyCherny
@EvgenyCherny
I'm don't want you say I love you...
chosenCave - не существует

Если вы пытаетесь использовать функцию, тогда вы можете ее вызвать так
if chooseCave() == str(friendlyCave):
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы