我似乎无法弄清楚如何通过嵌套循环显示内容

时间:2017-03-13 21:38:49

标签: python loops

我差不多完成了学校的课程,但我无法弄清楚我还需要什么。这就是问题所在:

  

编写一个使用嵌套循环来收集数据和计算的程序   多年的平均降雨量。该计划应该首先   询问年数。外部循环将为每个循环迭代一次   年。内循环将迭代十二次,每个月一次。   内循环的每次迭代都会询问用户的英寸   那个月的降雨量。在所有迭代之后,程序应该   显示月数,总降雨量的英寸数和   整个期间每月的平均降雨量。

我使用了第一个循环来迭代每年,而第二个循环用于月份,这将是12个月。在月份循环中,我要求降低多少英寸,我将每次迭代等于TotalYearlyRainfall,这样它将它添加到变量中。我创建了一个名为grandTotal的新变量,等于TotalYearlyRainfall。

for xxx in range(1,13):

这是我在表格内部工作的第三个循环,我将xxx作为变量来计算每个迭代次数,以便在左栏中显示每个月。

print (xxx,"              ",Rainfall(xx)) 

我不知道如何处理第二个区域,以显示用户在每个月的第二个循环中输入的内容。我真的只是在猜测放置什么,看它是否有效。

这是我的源代码:

Years = int(input("Enter the number of years.")) #Based on user input, the loop will iterate 'Years' times.
TotalYearlyRainfall = 0 #define properly
grandTotal = 0 #define properly
for x in range(1,Years+1): #How many years
    for xx in range(1,13): #The months in each
        Rainfall = int(input(("How many inches of rainfall for month ",xx,"/12?")))
        TotalYearlyRainfall += Rainfall #T.Y.R is equal to Rainfall, as it adds each Rainfall.
        grandTotal = TotalYearlyRainfall
        #print (TotalYearlyRainfall)
print ("Months       Rainfall(in)") #Table
print ("-------------------------") #Table
for xxx in range(1,13): #months
    print (xxx,"              ",Rainfall(xx)) #I am stuck on this line...
print ("-------------------------") #Table
print ("Total Rainfall: ",grandTotal) #prints the grandTotal
Average = grandTotal / xx
print ("Average(in): ",Average) #Average amount of rainfall per month

'''
if 1-12 inputted for each
consecutive month,

Total: 78 inches.
Average: 6.5 inches.
'''

提前致谢!

1 个答案:

答案 0 :(得分:0)

  

在所有迭代之后,程序应显示数量   几个月,总降雨量和每平均降雨量   整个月的月份。

所以你真正需要做的就是打印三个数字:

  1. 总月数
  2. 整个时期下降的总雨量
  3. 每月平均下降量(即1号/ 2号)
  4. 你需要稍微修改一下你的代码,因为每个月之后你的总数会被覆盖,而且你在询问年数时会得到太多括号。您根本不需要年度总降雨量数据!尝试:

    Years = int(input("Enter the number of years: ")) #Based on user input, the loop will iterate 'Years' times.
    grandTotal = 0 #define properly
    
    for x in range(1,Years+1): #How many years
        for xx in range(1,13): #The months in each
            Rainfall = int(input("How many inches of rainfall for month "+str(xx)+"/12: "))
            grandTotal += Rainfall #add that months rainfall to the total
    
    Months = Years*12 #works out the number of months
    Average = grandTotal/(Years*12) #works out the average
    
    print ("Number of months (months): ", Months) #prints the total number of months
    print ("Total Rainfall (in): ",grandTotal) #prints the grandTotal
    print ("Average Rainfall (in per month): ",Average) #Average amount of rainfall per month