每月如何乘一个值?

时间:2019-02-11 18:23:11

标签: python python-3.x

我刚刚开始学习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)

3 个答案:

答案 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}