Форум сайта python.su
0
Здравствуйте! Я только начинаю программировать.
Что то уже подучил.
Иногда смотрю всякие примеры кода, перепечатываю. Если допускаю ошибку начинаю разбираться, подглядываю в пример иногда.
Вот один код игры не могу понять в чем ошибка.
В первом примере при условии else ругается. рис.1
line 10
GG == ‘Paper’
NameError: name ‘GG’ is not defined
—————————————————————-
Вариант 1
import random print ('Old Old Game') print ('Stoune/Sci/Paper') opp = random.randint(1,3) if opp == '1': GG == 'Stoune' elif opp == '2': GG == 'Sci' else: GG == 'Paper' print ('1) Stoune') print ('2) Sci') print ('3) Paper') try: X = int(input('Write number:\n>')) if X == 1: print ('') print ('Your shoice: Stoune') print ('Opponent shoice: '+str(GG)) print ('') if opp == '1': print ('Draw') elif opp == 2: print ('You win!') else: print ('You Lost') elif X == 2: print ('') print ('You shoice: Sci') print ('Opponent shoice: '+str(GG)) print ('') if opp == 1: print ('You Win!') elif opp == 2: print ('Draw') else: print ('You Lost') elif X == 3: print ('') print ('You shoice: Paper') print ('Opponent shoice: '+str(GG)) print ('') if opp == 1: print ('You Lost') elif opp == 2: print ('You Win!') else: print ('Draw') print ('') else: print ('Write only numbers: 1,2,3') except: print ('Error! Write only int numbers')
Отредактировано playernit (Фев. 20, 2019 15:21:37)
Прикреплённый файлы:
1.jpg (243,6 KБ)
Офлайн
76
Первая ошибка вместо сравнения == ,необходимо, выполнить присвоение =
if opp == '1': GG = 'Stoune' elif opp == '2': GG = 'Sci' else: GG = 'Paper'
Офлайн
0
Жесть… Столько времени смотрел в чем проблема )) Благодарю!
А еще момент подскажите, почему то не такт выходит результат, т.е. например ножницы на бумагу, будет ничья или проиграл или выиграл, не правильно показывает результат, да и каждый раз по разному.
И так с любой цифрой 1/2/3
Прикреплённый файлы:
3.jpg (93,0 KБ)
Офлайн
294
потому что у вас каша в коде , возмите хотябы вот это:
opp = random.randint(1,3) if opp == '1': GG = 'Stoune' elif opp == '2': GG = 'Sci' else: GG = 'Paper'
[code python][/code]
Офлайн
0
PEHDOM)) да, сам не разберусь, не могу вникнуть. Буду дальше штудировать, надеюсь со временем придет понимание.
потому что у вас каша в коде , возмите хотябы вот это:
Офлайн
0
PEHDOM))) немного понял, цифры указанны в ‘ ’
потому что у вас каша в коде , возмите хотябы вот это:
PEHDOM
дальше у вас еще есть строки типа if opp == ‘1’:
Офлайн
Офлайн
0
PEHDOM
дальше у вас еще есть строки типа if opp == ‘1’:
Офлайн
0
Исправил, теперь всё ок! Благодарю!
import random print ('Old Old Game') print ('Stoune/Sci/Paper') opp = random.randint(1,3) if opp == 1: GG = 'Stoune' elif opp == 2: GG = 'Sci' else: GG = 'Paper' print ('1) Stoune') print ('2) Sci') print ('3) Paper') try: X = int(input('Write number:\n>')) if X == 1: print ('') print ('Your shoice: Stoune') print ('Opponent shoice: '+str(GG)) print ('') if opp == 1: print ('Draw') elif opp == 2: print ('You Win!') else: print ('You Lost') elif X == 2: print ('') print ('You shoice: Sci') print ('Opponent shoice: '+str(GG)) print ('') if opp == 1: print ('You Lost') elif opp == 2: print ('Draw') else: print ('You WIN!') elif X == 3: print ('') print ('You shoice: Paper') print ('Opponent shoice: '+str(GG)) print ('') if opp == 1: print ('You Win!') elif opp == 2: print ('You Lost!') else: print ('Draw') print ('') else: print ('Write only numbers: 1,2,3') except: print ('Error! Write only int numbers')
Офлайн
0
Друзья, а как вставить этот код в цикл? Что бы игра(кон) начиналась заново?
Отредактировано playernit (Фев. 21, 2019 09:38:34)
Офлайн
294
while True: # тут код игры if input('Хотите еще раз сыграть? Д/Н').lower() == 'н': break
[code python][/code]
Офлайн