Всем привет. Изучаю Python и дошёл до функций, Решил написать мини игру "камень / ножницы / бумага".
Всё работает, но после выполнения одной из трёх функций (победа, поражение, ничья) в коде появляется None. Долго пробовал исправить, но пока не хватает знаний). Подскажите как можно это исправить? Искал в гугле так и не нашёл)
import random
import time
#Приветствие
def hello():
hello = "Привет. Это игра камень / ножницы / бумага."
print(hello)
time.sleep(2)
hello()
#код на победу
def wingame():
winning_comb = ["камень", "ножницы", "бумага"]
comp1 = ["камень", "ножницы", "бумага"]
comp2 = ["камень", "ножницы", "бумага"]
comp3 = ["камень", "ножницы", "бумага"]
while True:
player = input(
"Что выберете: камень / ножницы / бумага?\n" + "\nИгрок: ")
time.sleep(2)
if player not in ["камень", "ножницы", "бумага"]:
print("Вы ничего не выбрали!")
continue
time.sleep(2)
if player in winning_comb:
if player == "камень":
r_comp1 = comp1.remove("камень")
r_comp2 = comp1.remove("бумага")
print("Компьютер: " + random.choice(comp1))
print("Победа")
break
elif player == "ножницы":
r_comp3 = comp2.remove("камень")
r_comp4 = comp2.remove("ножницы")
print("Компьютер: " + random.choice(comp2))
print("Победа")
break
elif player == "бумага":
r_comp5 = comp3.remove("ножницы")
r_comp6 = comp3.remove("бумага")
print("Компьютер: " + random.choice(comp3))
print("Победа")
break
#код на поражение
def losegame():
losing_comb = ["камень", "ножницы", "бумага"]
comp1 = ["камень", "ножницы", "бумага"]
comp2 = ["камень", "ножницы", "бумага"]
comp3 = ["камень", "ножницы", "бумага"]
while True:
player = input(
"Что выберете: камень / ножницы / бумага?\n" + "\nИгрок: ")
time.sleep(2)
if player not in ["камень", "ножницы", "бумага"]:
print("Вы ничего не выбрали!")
continue
time.sleep(2)
if player in losing_comb:
if player == "камень":
r_comp1 = comp1.remove("камень")
r_comp1 = comp1.remove("ножницы")
print("Компьютер: " + random.choice(comp1))
print("Поражение")
break
elif player == "ножницы":
r_comp3 = comp2.remove("бумага")
r_comp4 = comp2.remove("ножницы")
print("Компьютер: " + random.choice(comp2))
print("Поражение")
break
elif player == "бумага":
r_comp5 = comp3.remove("камень")
r_comp6 = comp3.remove("бумага")
print("Компьютер: " + random.choice(comp3))
print("Поражение")
break
#код на ничью
def drawngame():
drawn_game = ["камень", "ножницы", "бумага"]
comp1 = ["камень", "ножницы", "бумага"]
comp2 = ["камень", "ножницы", "бумага"]
comp3 = ["камень", "ножницы", "бумага"]
while True:
player = input(
"Что выбирете: камень / ножницы / бумага?\n" + "\nИгрок: ")
time.sleep(2)
if player not in ["камень", "ножницы", "бумага"]:
print("Вы ничего не выбрали!")
time.sleep(2)
continue
if player in drawn_game:
if player == "камень":
r_comp1 = comp1.remove("ножницы")
r_comp2 = comp1.remove("бумага")
print("Компьютер: " + random.choice(comp1))
print("Ничья")
break
elif player == "ножницы":
r_comp3 = comp2.remove("камень")
r_comp4 = comp2.remove("бумага")
print("Компьютер: " + random.choice(comp2))
print("Ничья")
break
elif player == "бумага":
r_comp5 = comp3.remove("ножницы")
r_comp6 = comp3.remove("камень")
print("Компьютер: " + random.choice(comp3))
print("Ничья")
break
#рандомный выбор кода
def funcs():
if True:
f = [wingame, losegame, drawngame]
rand_func = random.choice(f)
rand_func()
#выбор кода из функции funcs
def gameon():
if True:
print(funcs())
time.sleep(2)
gameon()
#повтор игры
def regame():
import time
replay = True
while replay:
que = input("\nБудем ещё играть да / нет?\n" + "\nИгрок: ")
time.sleep(2)
if que == "да":
print("Продолжаем:\n")
time.sleep(2)
gameon()
elif que == "нет":
print("Конец.")
time.sleep(2)
print("Завершение программы.")
time.sleep(2)
break
else:
print("Вы ничего не выбрали. Попробуйте снова:")
time.sleep(2)
continue
regame()