Answer the question
In order to leave comments, you need to log in
How to remove None output after function execution?
Hello. I'm learning Python and got to functions, Decided to write a rock/paper/scissors mini game.
Everything works, but after one of the three functions (win, lose, draw) is executed, None appears in the code. I tried to fix it for a long time, but so far there is not enough knowledge). Tell me how can I fix this? I searched on Google and did not find it)
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()
Answer the question
In order to leave comments, you need to log in
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question