多功能python编程
我试图写一个程序,要求用户输入两种颜色,然后显示结果的颜色。这就是我到目前为止所做的:多功能python编程,python,python-3.x,Python,Python 3.x,我试图写一个程序,要求用户输入两种颜色,然后显示结果的颜色。这就是我到目前为止所做的: #Define function that prompts user to enter data def ask(): color1=input('Enter name of first primary color:') color2=input('Enter name of second primary color:') mixColors(color1,color2) #Write
#Define function that prompts user to enter data
def ask():
color1=input('Enter name of first primary color:')
color2=input('Enter name of second primary color:')
mixColors(color1,color2)
#Write function that displays the different color combinations
def mixColors(color1,color2):
if color1==red and color2==blue:
print('Mixing red and blue, you get purple.')
elif color1==blue and color2==red:
print('Mixing blue andred, you get purple.')
elif color1==red and color2==yellow:
print('Mixing red and yellow, you get orange.')
elif color1==yellow and color2==red:
print('Mixing yellow and red, you get orange.')
elif color1==blue and color2==yellow:
print('Mixing blue and yellow you get green.')
elif color1==yellow and color2==blue:
print('Mixing yellow and blue, you get green.')
else:
print("I don't know what you get by mixing", color1,'and',color2,'.')
ask()
运行程序时,会出现以下错误消息:
Traceback (most recent call last):
File "/Users/Lin/Documents/Spring Semester 2013/Computer Programming/yuan_linCh0405", line 23, in <module>
ask()
File "/Users/Lin/Documents/Spring Semester 2013/Computer Programming/yuan_linCh0405", line 6, in ask
mixColors(color1,color2)
File "/Users/Lin/Documents/Spring Semester 2013/Computer Programming/yuan_linCh0405", line 9, in mixColors
if color1==red and color2==blue:
NameError: global name 'red' is not defined
回溯(最近一次呼叫最后一次):
文件“/Users/Lin/Documents/2013春季学期/计算机编程/yuan_linCh0405”,第23行,在
询问
文件“/Users/Lin/Documents/2013春季学期/计算机编程/yuan_linCh0405”,第6行,在ask中
混合颜色(颜色1、颜色2)
文件“/Users/Lin/Documents/2013春季学期/计算机编程/yuan_linCh0405”,第9行,混合颜色
如果颜色1==红色,颜色2==蓝色:
NameError:未定义全局名称“红色”
在Python中,字符串必须用单引号或双引号(“
或”
)括起来。否则它们将被视为变量
在本例中,red
既不是变量也不是字符串。由于red
不是字符串,Python在当前名称空间、父名称空间和全局名称空间中搜索red
。但在它们中都找不到变量red
。因此,它放弃并抛出该错误消息
所以,所有的if条件都应该是
if color1=="red" and color2=="blue":
...
elif color1=="blue" and color2=="red":
...
elif color1=="red" and color2=="yellow":
...
elif color1=="yellow" and color2=="red":
...
elif color1=="blue" and color2=="yellow":
...
elif color1=="yellow" and color2=="blue":
...
在Python中,字符串必须用单引号或双引号(
“
或”
)括起来。否则,它们将被视为变量
在本例中,red
既不是变量也不是字符串。由于red
不是字符串,因此Python在当前名称空间、父名称空间和全局名称空间中搜索red
。但是在它们中都找不到变量red
。因此,它放弃并抛出错误消息
所以,所有的if条件都应该是
if color1=="red" and color2=="blue":
...
elif color1=="blue" and color2=="red":
...
elif color1=="red" and color2=="yellow":
...
elif color1=="yellow" and color2=="red":
...
elif color1=="blue" and color2=="yellow":
...
elif color1=="yellow" and color2=="blue":
...
@用户3307366很酷。请考虑它是否对你有帮助。@ USER 3307366酷。请考虑它是否对你有帮助。你应该使用一个有键(红色、蓝色)、(蓝色)、“红色”、“红色”的字典,ETCIF你用FROZSENSET作为关键字,你可以减少字典中的条目数量。你应该使用一个带键的字典(红色,蓝色),(蓝色,红色),(红色,黄色),etcIf使用冻结集作为键,可以减少字典中的项目数