Amigun
@Amigun
Джун : |

Как передать значение переменной в содержимое под условным оператором ветвления if в python?

У меня есть что-то вроде этого кода, и я делаю таблицу счета:

import random

score = 0

res = random.randint (1, 2)
if res == 1:
     print ('Ты выиграл')
     score = score + 1
     print ('Твой счет:')
     print (score)
if res == 2:
     print ('Ты проиграл')
     score = score - 1
     print ('Твой счет:')
     print (score)

Но у меня не передается значение 0 из переменной score которая находится перед операторами ветвления, в содержимое if. Как изменить?
  • Вопрос задан
  • 1315 просмотров
Пригласить эксперта
Ответы на вопрос 4
NeiroNx
@NeiroNx
Программист
В данном коде нет никаких проблем. Но подобное бывает когда пытаешься изменить глобальную переменную из функциии, а за пределами функции оказывается что она не поменялась. Для этого есть оператор
global имя_переменной
Ответ написан
Dr_Elvis
@Dr_Elvis Куратор тега Python
В гугле забанен
Всё нормально отрабатывает
5c5c19f6004b3716206793.png

И кстати, вместо
score = score + 1
score = score - 1

Правильнее использовать
score += 1
score -= 1
Ответ написан
@damprog
ты хотел так? https://repl.it/@Prog80/tester

Когда ты просто запускаешь программу, она у тебя отрабатывает и всё.
Заново запускаешь и у тебя score опять 0.
Ответ написан
Комментировать
@MasterCard000
Все работает, сидишь и залипаешь на циферки )))))
import random, time

score = 0

while True:
    time.sleep(2)
    res = random.randint (1, 2)
    if res == 1:
        score += 1
        print ('Ты выиграл\nТвой счет:', score,"\n")
    if res == 2:
        score -= 1
        print ('Ты проиграл\nТвой счет:',score,"\n")
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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