Есть ли способ повторно использовать функцию с разными значениями в коде? - PullRequest
1 голос
/ 01 апреля 2019

Мне интересно, есть ли способ повторить функцию с другими значениями в коде

Я спросил своего учителя, выполнил поиск в Интернете, спросил некоторых пиров, и ни у одного из них нет ответа

while cashChoice > 0:
    cash1 = 200 + int(offer1)*50
    cashorBox = input("Would you like the money or the box? You have been offered $" + str(cash1) + ". If you want money, press [m], if you want the box, press [b]")
    if cashorBox == "m":
        print("Congratulations, you get " + str(cash1) + "! The prize you could've won from the box was " + str(userBox) + ". See you!")
        sys.exit
    elif cashorBox == "b":
        print("Ok... you will be offered another cash amount.")
        cashChoice -= cashChoice
    if cashChoice == 0:
        print("Great! You may have the box. It contains " + str(userBox) + "! Farewell :)")
        sys.exit
    else:
        continue

Я хочу повторить, но с другими значениями "cash1", как в "cash2"

1 Ответ

1 голос
/ 01 апреля 2019

Существует очень простой ответ на этот вопрос, и будет очень важно узнать позже, если вы хотите стать опытным в Python.Я не знаю точно, как вы хотите реализовать это, но вы можете сделать это так:

def yourFunction (cash1Param):
    while cashChoice > 0:
        cash1 = cash1Param
        cashorBox = input("Would you like the money or the box? You have been offered $" + str(cash1) + ". If you want money, press [m], if you want the box, press [b]")
        if cashorBox == "m":
            print("Congratulations, you get " + str(cash1) + "! The prize you could've won from the box was " + str(userBox) + ". See you!")
            sys.exit
        elif cashorBox == "b":
            print("Ok... you will be offered another cash amount.")
            cashChoice -= cashChoice
        if cashChoice == 0:
            print("Great! You may have the box. It contains " + str(userBox) + "! Farewell :)")
            sys.exit
        else:
            continue

Затем, когда вы вызываете функцию, вы можете ввести любое значение для cash1Param, например:

yourFunction(5)

или

yourFunction(678678967)

Вам даже не нужно использовать cash1 для всего.Вы можете просто заменить все времена, когда вы использовали его на cash1Param, чтобы напрямую использовать параметр.

Это так называемые параметры функции.Вот соответствующая ссылка для их изучения: https://www.protechtraining.com/content/python_fundamentals_tutorial-functions

Если у вас есть какие-либо дополнительные вопросы, не бойтесь спрашивать.

...