谢子仲 发表于 2020-6-17 18:18:10

大神看一下这个循环哪里有问题

read = 0
yellow = 0
green = 0
while read <= 3:
    while yellow <= 3:
      while green <= 6:
            if read + yellow + green == 8:
                print('红色球为 %d、蓝色球为 %d、绿色球为 %d。' % (read, yellow, green), end='')
                green += 1
            else:
                green += 1
    yellow += 1
read += 1

云鹿 发表于 2020-6-17 18:34:46

你是不是想问为什么不显示结果{:10_257:}

青出于蓝 发表于 2020-6-17 18:35:09

所以会一直循环

Twilight6 发表于 2020-6-17 18:45:25


每次循环要重新初始化
yellow = 0
green = 0

还有你read 缩进要多打一个

正确代码:

read = 0
while read <= 3:
    yellow = 0
    while yellow <= 3:
      green = 0
      while green <= 6:
            if read + yellow + green == 8:
                print('红色球为 %d、蓝色球为 %d、绿色球为 %d。' % (read, yellow, green))
                green += 1
            else:
                green += 1
      yellow += 1
    read += 1

谢子仲 发表于 2020-6-17 19:17:11

Twilight6 发表于 2020-6-17 18:45
每次循环要重新初始化
yellow = 0
green = 0


哇 谢谢大神

谢子仲 发表于 2020-6-17 19:17:46

青出于蓝 发表于 2020-6-17 18:35
所以会一直循环

没有结果{:9_226:}
https://fishc.com.cn/static/image/smiley/ali/ali14.gif

谢子仲 发表于 2020-6-17 19:22:24

Twilight6 发表于 2020-6-17 18:45
每次循环要重新初始化
yellow = 0
green = 0


我一个在循环体里面声明全局变量,否则局部变量的改变也不会引起全局变量的改变{:9_227:}

谢子仲 发表于 2020-6-17 19:31:08

云鹿 发表于 2020-6-17 18:34
你是不是想问为什么不显示结果

哈哈哈 确实{:10_254:}

Twilight6 发表于 2020-6-17 19:31:28

谢子仲 发表于 2020-6-17 19:22
我一个在循环体里面声明全局变量,否则局部变量的改变也不会引起全局变量的改变

循环不用声明 本身就属于全局作用域 函数才需要

谢子仲 发表于 2020-6-17 19:49:44

Twilight6 发表于 2020-6-17 19:31
循环不用声明 本身就属于全局作用域 函数才需要

欧克
页: [1]
查看完整版本: 大神看一下这个循环哪里有问题