我刚刚开始学习python类,我试图编写一个代码,其中第一个月的值= 1,然后将其值乘以下个月的2,然后再乘以下个月的3,然后再下个月的2,依此类推上。直到达到6个月。我正在使用此代码,但它只给我月份1 = 1,这是初始值。
P = 1
count = 12
print ("month 1: ",P)
for month in range(count-1):
if month %2 == 0:
P = P*2
else:
P = P*3
print:("month", month+2 ,":",P)
答案 0 :(得分:1)
更改
print:("month", month+2 ,":",P)
到
print("month", month+2 ,":",P)
我不确定python为什么不抱怨冒号。您实际上可以在这里放任何东西
weird: ("month", month+2 ,":",P)
它不会抱怨。令人敬畏的错误,谢谢!
答案 1 :(得分:0)
请记住,range(count-1)
将返回0到11之间的数字(最后一个数字不包括在内)
您的逻辑可能是这样的:
(a)从1(cnt
)开始的计数器
(b)监视计数器达到6的循环,然后退出
(c)总计(month_val
或类似的数字)
cnt = 1
month_val = 1
while cnt < 7:
month_val = month_val * cnt
print(month_val)
cnt += 1
以上内容假设您保留了month_num
的新值-但要重新阅读您的问题,您可能只想打印1到6的值,在这种情况下,month_num
值应该一直保持1:
cnt = 1
month_val = 1
while cnt < 7:
print(month_val * cnt)
cnt += 1
答案 2 :(得分:0)
您可以为问题定义字典,如
month_values={}
for i in range(1,7):
if i == 1:
month_values['Month'+str(i)]=1
elif i%2 == 0:
month_values['Month'+str(i)]=i*2
elif i%2 == 1:
month_values['Month'+str(i)]=i*3
print(month_values)
打印 {'Month1':1,'Month2':4,'Month3':9,'Month4':8,'Month5':15,'Month6':12}