G
G
GhostTonyRus2020-05-31 17:20:11
Python
GhostTonyRus, 2020-05-31 17:20:11

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()


5ed3bccc16db4272521499.png

Answer the question

In order to leave comments, you need to log in

1 answer(s)
S
Sergey Gornostaev, 2020-05-31
@GhostTonyRus

Do not print the return value from the function.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question