七天的平均温度,最低和最高温度



我正在做一项练习:输入7天的温度,计算平均值,找到最低和最高温度。

#input and Calculate the average temperature for 7 days.
#Find the maximum and minimum temperature
print("Welcome!")
max = 0
minimum = 999
d1 = int(input("Enter Sunday Temperature: "))
d2 = int(input("Enter Monday Temperature: "))
d3 = int(input("Enter Tuesday Temperature: "))
d4 = int(input("Enter Wednesday Temperature: "))
d5 = int(input("Enter Thursday Temperature: "))
d6 = int(input("Enter Friday Temperature: "))
d7 = int(input("Enter Saturday Temperature: "))
average = (d1 + d2 + d3 + d4 + d5 + d6 + d7) / 7
if d1>max:
max = d1
if d2>max:
max = d2
if d3>max:
max = d3
if d4>max:
max = d4
if d5>max:
max = d5
if d6>max:
max = d6
if d7>max:
max = d7
if d1<min:
min = d1
if d2<min:
min = d2
if d3<min:
min = d3
if d4<min:
min = d4
if d5<min:
min = d5
if d6<min:
min = d6
if d7<min:
min = d7

print("Average Temperature =", average)
print("Maximum Temperature =", max)
print("Minimum Temperature =", min)

我收到这个错误消息:

TypeError: '<' not supported between instances of 'int' and 'builtin_function_or_method'

任何时候看到这样重复的代码,都有更好的方法。让电脑为你做这项工作。

#input and Calculate the average temperature for 7 days.
#Find the maximum and minimum temperature
print("Welcome!")
d = [
int(input("Enter Sunday Temperature: ")),
int(input("Enter Monday Temperature: ")),
int(input("Enter Tuesday Temperature: ")),
int(input("Enter Wednesday Temperature: ")),
int(input("Enter Thursday Temperature: ")),
int(input("Enter Friday Temperature: ")),
int(input("Enter Saturday Temperature: "))
]
average = sum(d) / 7
dmax = max(d)
dmin = min(d)
print("Average Temperature =", average)
print("Maximum Temperature =", dmax)
print("Minimum Temperature =", dmin)

不要太"golfy";您当前的解决方案中有很多冗余代码,我认为这会使编写和理解变得更加困难。

让我们把它缩短一点,希望能增加一些清晰度。

请注意,我们将使用稍微更具描述性的变量名称,因为您目前的实际问题是变量名称和内置方法min之间的冲突(并且您已经重新定义了内置max(。

days = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]
observations =[int(input(f"Enter {day} Temperature: ")) for day in days]
temp_average = sum(observations) / len(observations)
temp_max = max(observations)
temp_min = min(observations)
print(f"Average Temperature = {temp_average}")
print(f"Maximum Temperature = {temp_max}")
print(f"Minimum Temperature = {temp_min}")

如果你热衷于保留当前的解决方案,那么你可以稍微调整变量名称:

#input and Calculate the average temperature for 7 days.
#Find the maximum and minimum temperature
print("Welcome!")
maximum = -999
minimum = 999
d1 = int(input("Enter Sunday Temperature: "))
d2 = int(input("Enter Monday Temperature: "))
d3 = int(input("Enter Tuesday Temperature: "))
d4 = int(input("Enter Wednesday Temperature: "))
d5 = int(input("Enter Thursday Temperature: "))
d6 = int(input("Enter Friday Temperature: "))
d7 = int(input("Enter Saturday Temperature: "))
average = (d1 + d2 + d3 + d4 + d5 + d6 + d7) / 7
if d1>maximum:
maximum = d1
if d2>maximum:
maximum = d2
if d3>maximum:
maximum = d3
if d4>maximum:
maximum = d4
if d5>maximum:
maximum = d5
if d6>maximum:
maximum = d6
if d7>maximum:
maximum = d7
if d1<minimum:
minimum = d1
if d2<minimum:
minimum = d2
if d3<minimum:
minimum = d3
if d4<minimum:
minimum = d4
if d5<minimum:
minimum = d5
if d6<minimum:
minimum = d6
if d7<minimum:
minimum = d7
print("Average Temperature =", average)
print("Maximum Temperature =", maximum)
print("Minimum Temperature =", minimum)
print("Welcome!")
max = 0
minimum = 999
arr = []
d1 = int(input("Enter Sunday Temperature: "))
arr.append(d1)
d2 = int(input("Enter Monday Temperature: "))
arr.append(d1)
d3 = int(input("Enter Tuesday Temperature: "))
arr.append(d1)
d4 = int(input("Enter Wednesday Temperature: "))
arr.append(d1)
d5 = int(input("Enter Thursday Temperature: "))
arr.append(d1)
d6 = int(input("Enter Friday Temperature: "))
arr.append(d1)
d7 = int(input("Enter Saturday Temperature: "))
arr.append(d1)
average = (d1 + d2 + d3 + d4 + d5 + d6 + d7) / 7
for x in arr:
if x > max:
max = x
if x < min:
min = x

最新更新