我应该得到16个输出,其中来自每个for循环的每个值相互相乘,但由于某种原因,我只得到4个输出只有4000 {{{{ 1}}与K
的所有值相乘。有人可以告诉我哪里出错了吗?
D
答案 0 :(得分:2)
顺序很重要,你的print语句必须在内部for循环中。
def main():
for i in range(0,4):
if i==0:
D=2
elif i==1:
D=4
elif i==2:
D=5.5
else:
D=10
for j in range(0,4):
if j==0:
K=1000
elif j==1:
K=2000
elif j==2:
K=2500
else:
K=4000
print("The year with depth",D,"and K as",K,"is",K*D)
main()
答案 1 :(得分:1)
你必须重新安排你的代码,第一次声明是print
:
def main():
for i in range(0,4):
if i==0:
D=2
elif i==1:
D=4
elif i==2:
D=5.5
else:
D=10
for j in range(0,4):
if j==0:
K=1000
elif j==1:
K=2000
elif j==2:
K=2500
else:
K=4000
print("The year with depth",D,"and K as",K,"is",K*D)
另外,这样做的一种pythonic方式是:
for D in (2, 4, 5.5, 10):
for K in range(1000, 5000, 1000):
print("The year with depth",D,"and K as",K,"is",K*D)
答案 2 :(得分:-1)
您只获得4个输出,因为您的print()
第二个循环。欢迎来到python indentation噩梦:)