问题描述
昨天我开始学习 Python,到目前为止我很享受它的简单性。今天,我尝试创建一个可以加、减、乘、除和求模的简单计算器。虽然它工作得很好,但每当程序询问用户是否希望在第二次尝试后再次尝试时,都会出现“什么?再试一次”这一行。出现,只有当用户对问题“再试一次?”给出不在 noList 或 yesList 中的答案时才会出现。对不起,如果这些都没有意义,但我会把我的代码放在下面。
functionList = ["add","subtract","multiply","divide","mod"]
yesList = ["yes","yeah","yup","y"]
noList = ["no","nope","nah","n"]
print("Welcome to Bryan's Calculator!")
def calculator():
whatFunction = input("What math function do you want to use (add/subtract/multiply/divide/mod)? ")
if whatFunction == "add":
numAddOne = float(input("What is your first number? "))
numAddTwo = float(input("What is your second number? "))
answerAdd = numAddOne + numAddTwo
print(str(answerAdd) + " is the answer!")
if whatFunction == "subtract":
numSubtractOne = float(input("What is your first number? "))
numSubtractTwo = float(input("What is your second number? "))
answerSubtract = numSubtractOne - numSubtractTwo
print(str(answerSubtract) + " is your answer!")
if whatFunction == "multiply":
numMultiplyOne = float(input("What is your first number? "))
numMultiplyTwo = float(input("What is your second number? "))
answerMultiply = numMultiplyOne * numMultiplyTwo
print(str(answerMultiply) + " is your answer!")
if whatFunction == "divide":
numDivideOne = float(input("What is your dividend? "))
numDivideTwo = float(input("What is your divisor? "))
answerDivide = numDivideOne / numDivideTwo
print(str(answerDivide) + " is your answer!")
if whatFunction == "mod":
numModone = float(input("What is your dividend? "))
numModTwo = float(input("What is your divisor? "))
answerMod = numModone % numModTwo
print(str(answerMod) + " is your remainder!")
elif whatFunction not in functionList:
print("What? Try again.")
calculator()
def askTryAgain():
tryAgain = input("Try again? ")
if tryAgain in yesList:
calculator()
if tryAgain in noList:
print("Thanks for using my calculator!")
exit()
if tryAgain not in yesList or noList:
print("What? Try again")
askTryAgain()
calculator()
askTryAgain()
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)