python - 需要在 Python 中关联两个列表
问题描述
我正在用 Python 完成一项任务,需要将降雨量与每个月关联起来。我需要打印降雨的低月和高月,但是我的代码当前编写的方式只能打印实际数量,而不能打印与数量相对应的月份。我想我会在 enter_rainfall 函数下将两者关联起来,但我不确定如何将两者关联起来。任何建议表示赞赏。
def main():
months_list = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']
rain = enter_rainfall()
average = avg_rainfall(rain)
lowhigh = low_High(rain)
print(format(average, '.2f'))
def enter_rainfall():
rain_fall = []
months = 12
for months_list in range(months):
rain_amount = float(input('Please enter the amount of rain:',))
rain_fall.append(rain_amount)
return(rain_fall)
def avg_rainfall(rain):
total = 0
for value in rain:
total += value
average = total / len(rain)
return(average)
def low_High(rain, months_list):
low = min(rain)
month = months_list[rain.index(low)]
print(month)
high = max(rain)
print(high)
main()
解决方案
当你打电话时low_High
,你实际上并没有传递你的月份列表(month_list
)。相反,您应该这样称呼它:low_High(rain, months_list)
. 当您打印最小值和最大值时,您可能希望同时打印月份和值——现在,您打印具有最小值和最大值的月份。
def low_High(rain, months_list):
low_val = min(rain)
low_month = months_list[rain.index(low_val)]
high_val = max(rain)
high_month = months_list[rain.index(high_val)]
print('{month} had the least amount of rain with {val}'.format(month=low_month, val=low_val))
print('{month} had the most amount of rain with {val}'.format(month=high_month, val=high_val))
如果您想在提示用户时跟踪月份,您可以在循环访问数组时通过修改enter_rainfall
:
def main():
...
rain = enter_rainfall(month_list)
...
def enter_rainfall(month_list)
for month in month_list:
rain_amount = float(input('Please enter the amount of rain for {month}:'.format(month=month),))
rain_fall.append(rain_amount)
...
推荐阅读
- c# - 如何在 asp.net owin api 项目中启用 JSON.NET 序列化/反序列化跟踪?
- excel - 是否可以直接在 Excel 中打开带有逗号和分号(分号作为分隔符)的 CSV/Txt 文件并将其保存回来而不失真?
- php - 插入现有值并从另一个表中对其进行排序
- woocommerce - Woocommerce:覆盖现有电子邮件所需的登录。将订单添加到用户帐户
- amazon-web-services - 按需扩展 ec2 , lambda 风格
- javascript - Tabulator - addRow 可以与 setData 之类的 AJAX 一起使用吗?
- lua - 理解 Lua 中的类
- ios - 如何检查有效的时间格式?
- spring-boot - 使用 JmsListener 存储接收/发送到队列的消息
- go - golang asm代码中的未知“ptr”变量