问答详情
源自:4-8 Python之嵌套循环

请问,我这个代码和答案上的代码有什么区别

s1 = 'ABC'
s2 = '123'
s3 = 'xyz'
xl4=''
for xl1 in s1:
    xl4=xl4+xl1
    for xl2 in s2:
        xl4=xl4+xl2
        for xl4 in s3:
            xl4=xl4+xl3
            print(xl4)


提问者:weixin_慕勒1347488 2022-03-19 21:00

个回答

  • 祥安LJ
    2022-03-21 19:27:40
    已采纳

    你的那个,每一次都给x14重新赋值了.

    如果想要那样写的话可以这样:

    s1='ABC'
    s2='123'
    s3='xyz'
    for ch1 in s1:
        for ch2 in s2:
            for ch3 in s3:
                ch4=ch1+ch2+ch3
                print(ch4)


  • 执着的狮子
    2023-11-29 16:16:58

    首先你这个代码有两个问题:

    1. 第三次循环中你可能写错了新变量,本来应该是xl3,你写成了xl4(如果你打死也不承认,那么倒数第二行的xl3变量,你也没有定义)

    2. 你的代码中多次赋值了xl4变量,每一次循环都对xl4变量重新赋值,因此你得出来的结果都是在上次循环结果的叠加

    你可以把每次循环中定义的新变量和xl4做一个区分,这样就不会混淆了,可以参考下面的代码:


    s1 = s2 = s3 = xl4=xl1 s1:
        xl4_1=xl4+xl1
        xl2 s2:
            xl4_2=xl4+xl2
            xl3 s3:
                xl4_3=xl4+xl3
                (xl4_1+xl4_2+xl4_3)


  • 慕虎7144159
    2023-01-31 11:55:48

    第三个for循环中的变量是x14不是x13

  • 学代码去码
    2022-10-21 09:15:03

    x13没有被定义