试图通过调用函数为用户提供重新启动程序的机会,但它不起作用
Trying to offer user the chance to restart a program by calling a function but it doesn't work
我正在开发一个小 python 计算器,一旦它有 运行,我想询问用户是否要重新开始,然后根据他们的反应重新启动程序.
我有这个:
def begin():
print("WELCOME TO THE PYTHON CALCULATOR\n\nYOUR SELECTIONS:\nBasic (+, -, *, /)\nAdvanced (power, square root)\nBMI\nMortgage\nTrip\n")
selection = input("What type of Calculator would you like to use? (NB: Case sensitive): ")
if selection == "Basic":
basic_input()
if selection == "Advanced":
adv_input()
if selection == "BMI":
imp_or_met = input("Do you prefer to use metric or imperial units? (Metric/Imperial): ")
if imp_or_met == "Metric":
bmi_met()
elif imp_or_met == "Imperial":
bmi_imp()
if selection == "Mortgage":
mort_calc()
if selection == "Trip":
trip_calc()
begin()
#restart calculator
restart = print(input("Would you like to use the calculator again?\n1: Yes, 2: No\n"))
if restart == "1":
begin()
else:
print("Thank you for using the calculator!")
但这是输出(来自询问用户是否要重新开始的问题):
Would you like to use the calculator again?
1: Yes, 2: No
1
Thank you for using the calculator!
我是编码的新手,所以我很欣赏这可能看起来是一个非常微不足道的问题 :)...但我很感激这里的任何帮助!
非常感谢!
restart = input("Would you like to use the calculator again?\n1: Yes, 2: No\n")
if restart == "1":
begin()
else:
print("Thank you for using the calculator!")
问题是您将 print(input(...))
分配给 restart
,即 NoneType
。
你可以这样试试
def begin():
#code for your begin() function
#by adding restart code here you can restart the function as many times as you want
restart = int(input("Would you like to use the calculator again?\n1: Yes, 2: No\n"))
if restart == 1:
begin()
else:
print("Thank you for using the calculator!")
SystemExit(0) #To exit from the program
if __name__ == '__main__':
begin()
我正在开发一个小 python 计算器,一旦它有 运行,我想询问用户是否要重新开始,然后根据他们的反应重新启动程序.
我有这个:
def begin():
print("WELCOME TO THE PYTHON CALCULATOR\n\nYOUR SELECTIONS:\nBasic (+, -, *, /)\nAdvanced (power, square root)\nBMI\nMortgage\nTrip\n")
selection = input("What type of Calculator would you like to use? (NB: Case sensitive): ")
if selection == "Basic":
basic_input()
if selection == "Advanced":
adv_input()
if selection == "BMI":
imp_or_met = input("Do you prefer to use metric or imperial units? (Metric/Imperial): ")
if imp_or_met == "Metric":
bmi_met()
elif imp_or_met == "Imperial":
bmi_imp()
if selection == "Mortgage":
mort_calc()
if selection == "Trip":
trip_calc()
begin()
#restart calculator
restart = print(input("Would you like to use the calculator again?\n1: Yes, 2: No\n"))
if restart == "1":
begin()
else:
print("Thank you for using the calculator!")
但这是输出(来自询问用户是否要重新开始的问题):
Would you like to use the calculator again?
1: Yes, 2: No
1
Thank you for using the calculator!
我是编码的新手,所以我很欣赏这可能看起来是一个非常微不足道的问题 :)...但我很感激这里的任何帮助!
非常感谢!
restart = input("Would you like to use the calculator again?\n1: Yes, 2: No\n")
if restart == "1":
begin()
else:
print("Thank you for using the calculator!")
问题是您将 print(input(...))
分配给 restart
,即 NoneType
。
你可以这样试试
def begin():
#code for your begin() function
#by adding restart code here you can restart the function as many times as you want
restart = int(input("Would you like to use the calculator again?\n1: Yes, 2: No\n"))
if restart == 1:
begin()
else:
print("Thank you for using the calculator!")
SystemExit(0) #To exit from the program
if __name__ == '__main__':
begin()