目前对python来说非常新。我现在正在上课。我在使用while和for循环以及如何使用它们时遇到了问题。我需要创建一个程序,要求用户提供预算,然后要求花费最多31天的金额。如果预算回来为负,我需要重新启动程序。
budget = float(input("What is your budget: "))
day = 0
while (budget < -1):
budget = float(input("Please enter a positive budget: "))
我不知道我在做什么。
答案 0 :(得分:0)
让我们逐步解决你的问题。
首先,您提到您可能需要重新启动程序。 我们有两种方法可以做到这一点。
将整个事情放在一个循环中,让它重复,直到一个月后的预算为止。
将整个事物粘贴在一个函数中,如果预算为负则再次调用该函数。
我个人更喜欢第二个,但是当你使用while循环时,我们可以做第一个。
因此,如果您拥有计算<stuff>
一个月预算的代码,那么您将要编写如下内容:
budget_is_negative = True
while budget_is_negative:
<stuff>
if budget_at_end_of_month >= 0:
budget_is_negative = False
在这里,我假设您在执行budget_at_end_of_month
时设置了一些变量<stuff>
(可能是一些浮点数)。
现在,让我们考虑如何撰写<stuff>
。我们希望它:
询问当月的预算。
每天询问用户花了多少钱,但只花了31天。
第一部分很简单:
monthly_budget = float(nput("What is your budget: "))
现在,我们想要合并一个while循环来查找我们每天花多少钱。 要做到这一点,我们想要介绍一个名为计数器的内容,或者一个跟踪我们所处日期的变量。
day = 0
while day < 31:
money_spent_today = float(input("How much did you spend today?: "))
在这里,这将继续检查它是哪一天,总是看到0 < 31
是真的(因为我们永远不会改变那一天),因此进入无限循环。相反,我们想要的是做以下
day = 0
while day < 31:
money_spent_today = float(input("How much did you spend today?: "))
day = day + 1
这会在你发现他们每天花了多少钱后的第二天增加。我们可以更简洁地写成day += 1
,但第一种方式通常更容易让初学者理解。
现在,您还需要做更多的工作。即:
每天您都会询问他们花了多少钱,并将其存储为money_spent_today
。第二天你会覆盖这个变量。你怎么能跟踪总花费?
我已经提到过如何执行此代码的许多单独部分。你需要弄清楚如何把它们放在一起。