我怎么能为每个输入添加1

时间:2017-03-05 20:34:22

标签: python python-3.x

目前对python来说非常新。我现在正在上课。我在使用while和for循环以及如何使用它们时遇到了问题。我需要创建一个程序,要求用户提供预算,然后要求花费最多31天的金额。如果预算回来为负,我需要重新启动程序。

    budget = float(input("What is your budget: "))
day = 0
while (budget < -1):
    budget = float(input("Please enter a positive budget: "))

我不知道我在做什么。

1 个答案:

答案 0 :(得分:0)

让我们逐步解决你的问题。

首先,您提到您可能需要重新启动程序。 我们有两种方法可以做到这一点。

  1. 将整个事情放在一个循环中,让它重复,直到一个月后的预算为止。

  2. 将整个事物粘贴在一个函数中,如果预算为负则再次调用该函数。

  3. 我个人更喜欢第二个,但是当你使用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>。我们希望它:

    1. 询问当月的预算。

    2. 每天询问用户花了多少钱,但只花了31天。

    3. 第一部分很简单:

      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,但第一种方式通常更容易让初学者理解。

      现在,您还需要做更多的工作。即:

      1. 每天您都会询问他们花了多少钱,并将其存储为money_spent_today。第二天你会覆盖这个变量。你怎么能跟踪总花费?

      2. 我已经提到过如何执行此代码的许多单独部分。你需要弄清楚如何把它们放在一起。