Python 3+;:虽然循环继续要求用户输入费用,即使用户输入停止循环的按钮。
编辑:我能够让它通过循环,但现在代码一直在通过一个“输入费用”的请求运行,不管按下哪个按钮 如果需要完整的代码,以下是代码的顺序:Python 3+;:虽然循环继续要求用户输入费用,即使用户输入停止循环的按钮。,python,python-3.x,while-loop,Python,Python 3.x,While Loop,编辑:我能够让它通过循环,但现在代码一直在通过一个“输入费用”的请求运行,不管按下哪个按钮 如果需要完整的代码,以下是代码的顺序: def getExpenses(): userExpense = 0 totalExpenses = 0 moreExpenses = "" while moreExpenses != "y": userExpense = float(input("Enter an expense: ")) total
def getExpenses():
userExpense = 0
totalExpenses = 0
moreExpenses = ""
while moreExpenses != "y":
userExpense = float(input("Enter an expense: "))
totalExpenses = totalExpenses + userExpense
moreExpenses = input("Do you have more expenses? Type y" +\
" to input more expenses, or any key for no: ")
return totalExpenses
这是主模块-我仍在尝试调试问题所在的位置,因此我尚未完成部分程序:
##---Initializing Variable----------------------------------------------------------------------#
#-----------------------------------------------------------------------------------------------#
monthlyIncome=0
monthlyExpenses=0
totalExpenses=0
##---Introductory Statement: Welcome to the Program---------------------------------------------#
#-----------------------------------------------------------------------------------------------#
def intro():
print("\n".join(["---------------------------------------------------------",
"Hello and Welcome to the Budget Analyzer",
"Get ready to find out how much money you'll have left $$$",
"---------------------------------------------------------"]))
return
##---The monthlyIncome mod. gets user input for income/mth to compare against expenses----------#
#-----------------------------------------------------------------------------------------------#
def getIncome():
monthlyIncome=float(input("Please enter the amount of money you'll have for the month: "))
return monthlyIncome
您的代码可以工作,但可能不是您想要的:
#---Run main module-----------------------------------------------------------------------------#
def main():
intro()
getIncome()
getExpenses(monthlyIncome)
要停止循环,请按“y”
因此,就这一点而言,它完全按照锡上所说的去做。
然而,这有点不合逻辑:
系统会提示您一个问题“您是否有更多费用”
”
如果您回答“y
”(=是),它将停止。。。因此,您应该更改=
到=
并在循环之前将morepenses
变量预设为y
:
def getExpenses():
userExpense = 0
totalExpenses = 0
moreExpenses = ""
while moreExpenses != "y":
userExpense = float(input("Enter an expense: "))
totalExpenses = totalExpenses + userExpense
moreExpenses = input("Do you have more expenses? Type y" +\
" to input more expenses, or any key for no: ")
return totalExpenses
它调用intro()的部分在哪里?我在上面的文章中添加了调用它的主模块。
def getExpenses():
userExpense = 0
totalExpenses = 0
moreExpenses = "y"
while moreExpenses == "y":
userExpense = float(input("Enter an expense: "))
totalExpenses = totalExpenses + userExpense
moreExpenses = input("Do you have more expenses? Type y" +\
" to input more expenses, or any key for no: ")
return totalExpenses