0

我正在尝试创建一个函数,该函数将启动循环并在当前日期计数中添加一天,它将询问 3 个问题,然后将该数据组合为等于 Total_Output。然后,我希望 'n' 表示元组的结尾,并在下一步中将 Total_Output 添加到元组的末尾。但是当我运行该函数时,它似乎正在创建一个新元组。

例子:

Good Morninghi
This is Day: 1
How much weight did you use?40
How many reps did you do?20
How many sets did you do?6
Day: 1
[4800.0]
This is Day: 2
How much weight did you use?50
How many reps did you do?20
How many sets did you do?6
Day: 2
[6000.0, 6000.0]
This is Day: 3
How much weight did you use?40
How many reps did you do?20
How many sets did you do?6
Day: 3
[4800.0, 4800.0, 4800.0]
failed

这是功能:

def Start_Work(x):
    Num_Days = 0
    Total_Output = 0
    Wght = 0
    Reps = 0
    Sets = 0
    Day = []

    while x == 1 and Num_Days < 6: ##will be doing in cycles of 6 days
        Num_Days += 1     ##increase day count with each loop
        print "This is Day:",Num_Days
        Wght = float(raw_input("How much weight did you use?"))
        Reps = float(raw_input("How many reps did you do?"))
        Sets = float(raw_input("How many sets did you do?"))
        Total_Output = Wght * Reps * Sets
        n = Day[:-1]   ##go to end of tuple
        Day = [Total_Output for n in range(Num_Days)] ##add data (Total_Output to end of tuple
        print "Day:",Num_Days  
        print Day
    else:
        print "failed"

Input = raw_input("Good Morning")
if Input.lower() == str('hi') or str('start') or str('good morning'):
  Start_Work(1)
else:
    print "Good Bye"
4

1 回答 1

1
n = Day[:-1]   ##go to end of tuple
Day = [Total_Output for n in range(Num_Days)] ##add data (Total_Output to end of tuple

不做你认为它做的事。您分配n但从不使用它(n循环中的 in 由 分配for n in),并且它仅包含变量list末尾的a 。Day

然后您设置Day[Total_Output] * Num_Days,因此您对的出现进行了新list的设置。Num_DaysTotal_Output

你要:

Day.append(Total_Output)

替换这两行。

于 2013-09-28T19:41:47.587 回答