11c*_*y11 0 python variables python-3.x
我不知道如何把这个放进去,所以我直接举一个例子
month1=31
month2=28
month3=31
month4=30
#number of days in certain months
monthnumber=3
# I want to find the number of days in the third month
monthnumberstr=str(monthnumber)
daysinmonth=("month"+monthnumberstr)
print(daysinmonth)
Run Code Online (Sandbox Code Playgroud)
现在我期待它打印31但我得到month3作为输出.如何使输出成为变量的变量.我再也不知道该怎么说.我只想要输出为31,而不是month3
你想要的是每个月的天数集合,特别是列表或字典.以下是如何使用列表执行此操作的示例:
days_in_months = [31, 28, ..., 30]
month = 3
print(days_in_months[month]) # prints 30
Run Code Online (Sandbox Code Playgroud)
请注意,列表中的第一项被编入索引days_in_month[0],因为Python(以及许多其他编程语言)中的大多数集合都是零索引的.检索days_in_months[3]将返回列表中的第四项.
根据DSM的建议,这里有一个如何使用的例子dict(这有点复杂,但对你的用例更有意义):
days_in_months = {1:31, 2:28, 3:31, 4:30}
month = 3
print(days_in_months[month]) # prints 31
Run Code Online (Sandbox Code Playgroud)
在这种情况下,根据您明确提供的键索引值,而不是像前一个示例中的零索引增加序列一样.{}文字中逗号分隔的项目是键值对,将每个键(月份编号)映射到一个值(月份中的天数).因此,访问days_in_months[3]返回31,而不是30.