簡體   English   中英

嵌套的for循環不會提供所有輸出

[英]nested for loop doesn't give all outputs

我應該得到16個輸出,其中每個for循環的每個值彼此相乘,但是由於某種原因,我只得到4個輸出,其中僅4000的K值與D所有值相乘。 有人可以告訴我我哪里出問題了嗎?

def main():
    for i in range(0,4):
        for j in range(0,4):
            if j==0:
                K=1000
            elif j==1:
                K=2000
            elif j==2:
                K=2500
            else:
                K=4000

        if i==0:
            D=2
        elif i==1:
            D=4
        elif i==2:
            D=5.5
        else:
            D=10

        print("The year with depth",D,"and K as",K,"is",K*D)

main()

順序很重要,並且您的打印語句必須位於內部的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()

您必須重新排列代碼,首先聲明最后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)

您僅獲得4個輸出,因為您的print() 第二個循環之外 歡迎來到python縮進夢night :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM