黄瓜雄赳赳 发表于 2021-7-20 15:24:24

各位大神,求教为啥这两个解法不等同啊?

我的解法和正确解法为啥不一样?为啥我的报错未定义变量,如果说未定义,那正确解法也未定义啊?
我的解法:

[*]print('red\tyellow\tblue')
[*]for red in range(0, 4) and yellow in range(0, 4) and green in range(2, 7):
[*]    if red + yellow + green == 8:
[*]      print(red, '\t', yellow, '\t', green)
正确解法:
[*]print('red\tyellow\tblue')
[*]for red in range(0, 4):
[*]    for yellow in range(0, 4):
[*]      for green in range(2, 7):
[*]            if red + yellow + green == 8:
[*]                print(red, '\t', yellow, '\t', green)



逃兵 发表于 2021-7-20 15:32:06

语法错误。。

你可以这么写

print('red\tyellow\tblue')

黄瓜雄赳赳 发表于 2021-7-20 15:39:11

逃兵 发表于 2021-7-20 15:32
语法错误。。

你可以这么写

意思这三个【for red in range(0, 4),for yellow in range(0, 4) ,for green in range(2, 7)】之间用and连接的语法是错误的,不能用and来连接,三者之间要么换行缩进,要么就用你这种连在一起的表示方式对吗?

逃兵 发表于 2021-7-20 15:52:30

黄瓜雄赳赳 发表于 2021-7-20 15:39
意思这三个【for red in range(0, 4),for yellow in range(0, 4) ,for green in range(2, 7)】之间用and ...

正常需要换行,缩进
我使用的方法是列表推导式
还有没有别的方法我不太清楚
用and连接不行

黄瓜雄赳赳 发表于 2021-7-20 16:05:54

逃兵 发表于 2021-7-20 15:52
正常需要换行,缩进
我使用的方法是列表推导式
还有没有别的方法我不太清楚


👍
页: [1]
查看完整版本: 各位大神,求教为啥这两个解法不等同啊?