【发布时间】:2019-09-18 13:52:57
【问题描述】:
我想在不使用列表函数的情况下通过循环找到最小值和最大值。代码完美运行,我只是得到与最小值相同的最大值?
import math
Choice= ''
sum=0
while Choice!='3':
print ('1- Amount of rain per month')
print('2- See statistic for this year')
print('3- Finish')
val= input ('Your choice:')
if Choice== '1':
for x in range (1,13):
rain= input ('Give the number of month'+ str(x)+ ':')
rain=float(rain)
sum+=rain
print('Sum:', sum)
if val== '2':
print('The average in a year:', sum/12)
minVal=0
minVal<rain
minVal=rain
print('Minimum value:', minVal)
maxVal=0
rain > maxVal
maxVal=rain
print('Maximum value:', maxVal)
if Choice=='3':
print('Finish')
【问题讨论】:
-
...完美运行,而 max==min 自相矛盾...
-
rain > maxVal是一个返回 True 或 False 的比较......但你什么也不做。您也只有总和 - 而不是存储的单个月份值。您需要将月份的值存储到列表中 - 然后您可以遍历列表并获取最小值和最大值。或者,当新的 jnumber 更大/更低时,您首先定义最小/最大值并在输入时调整您的“记忆”最小/最大值。解决这个问题意味着重写你的整个代码——你可能想浏览一些教程来掌握列表和循环的窍门。
标签: python-3.x