首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多功能python编程

多功能python编程
EN

Stack Overflow用户
提问于 2014-02-16 17:53:09
回答 1查看 1.2K关注 0票数 1

我试图编写一个程序,要求用户输入两种颜色,然后显示结果的颜色。到目前为止,这就是我所拥有的:

代码语言:javascript
复制
#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()

当我运行程序时,会出现以下错误消息:

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-16 17:55:12

在Python中,字符串必须用单引号或双引号('")括起来。否则,它们将被视为变量。

在这种情况下,red既不是变量也不是字符串。因为red不是字符串,所以它在当前名称空间、父名称空间和全局命名空间中搜索red。但是变量red在其中任何一个中都找不到。因此,它放弃并抛出错误消息。

所以,所有的条件都应该是

代码语言:javascript
复制
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":
...
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21815070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档