[英]Python 3+: While loop continues to ask user to Enter an Expense even if user inputs button to stop loop.
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)
您的代碼有效,但可能與您的預期不符:
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
為了停止循環,請按“ y”。
因此,就此而言,它的作用完全符合錫罐上的要求。 但是,這有點不合邏輯:
系統會提示您“ do you have more expenses
”
如果你回答“ y
”(= YES)停止......所以你應該改變!=
到=
和預設moreExpenses
變量y
循環之前:
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.