对于循环不保存循环外的变量



我不知道为什么,但是当我在循环结束后要求它打印它时,我的代码没有显示所选每种颜色的变量内容。当程序运行时,它输出的只是一个空行,没有文本输出。

如果有人能给出一个有用的指针,谢谢。

def inputs(): firstColour = "" #Variables三种颜色中的每一种颜色,由输入的字母确定for loop secondColour = "" thirdColour = "" patchSize = "" #States the number of patches in the grid

for i in range(3):
patchColour = input ("Please choose a colour: r, g, b, m, c, o: ").lower()
if patchColour == "r":
colour = "red"
print (colour)
elif patchColour == "g":
colour = "green"
print (colour)
elif patchColour == "b":
colour = "blue"
print (colour)
elif patchColour == "m":
colour = "magneta"
print (colour)
elif patchColour == "c":
colour = "cyan"
print (colour)
elif patchColour == "o":
colour = "orange"
else:
print("No valid input has been entered")
break
if i == 0:
colour == firstColour
elif i == 1:
colour == secondColour
elif i == 2:
colour == thirdColour
print(firstColour, secondColour, thirdColour)

本节:

if i == 0:
colour == firstColour
elif i == 1:
colour == secondColour
elif i == 2:
colour == thirdColour

应该是:

if i == 0:
firstColour = colour
elif i == 1:
secondColour = colour
elif i == 2:
thirdColour = colour
">

=="用于比较项目是否相同,"="用于为变量赋值。另外颜色和第一颜色等...是错误的方式。当您稍后打印出 firstColor 时,您需要先为其分配一个值

最新更新