2016-08-24 77 views
0

嗨,我是编程新手,我正在编写一个程序,要求用户输入颜色。然后程序会告诉用户该颜色是否为油漆,灯光或两者的主要颜色。光谱中的随机颜色

原色是红色,蓝色和黄色

原色光为红色,蓝色和绿色。

这是我到目前为止的代码:

a = input("Enter Colour: ") 
if 'Yellow' in a: 
print('Yellow is a primary coulour for paint.') 
elif 'Green' in a: 
print('Green is a primary colour for light.') 
elif 'blue' in a: 
print('blue is a primary colour for light and paint.') 
elif 'red' in a: 
print('red is a primary colour for light and paint') 
else: 
print(a,'is not a primary colour.') 

我这段代码遇到的问题是,当我使用不同的情况。 例如输入蓝色应该给出与蓝色或BLUe相同的输出。

所以我想让程序忽略这种情况。

任何事情都会有所帮助,谢谢。

+2

的可能的复制[?我该怎么做Python中的区分大小写字符串比较](http://stackoverflow.com/questions/319426/how-do-i-do- a-case-insensitive-string-comparison-in-python) –

+0

这是重复的,请参阅[here](http://stackoverflow.com/questions/319426/how-do-i-do-a-case-insensitive -string-comparison-in-python): –

回答

1

尝试:

a = input("Enter Colour: ").strip() 
color = a.lower() 

if color in ["red", "blue"]: 
    print(color, "is a primary colour for light and paint.") 
elif color in ["yellow"]: 
    print("Yellow is a primary colour for paint.") 
elif color in ["green"]: 
    print("Green is a primary colour for light.") 
else: 
    print(a, "is not a primary colour.") 
+0

我希望它能够精确地打印它的写法。例如输入颜色:蓝色 输出=蓝色是光线和油漆的主要颜色。我遇到的唯一问题是程序没有解释字符串, – cars

+0

@cars回答更新。 – acw1668

2

试试这个:

a = input("Enter Colour: ").lower() 
if 'yellow' in a: 
print('Yellow is a primary coulour for paint.') 
elif 'green' in a: 
print('Green is a primary colour for light.') 
elif 'blue' in a: 
print('blue is a primary colour for light and paint.') 
elif 'red' in a: 
print('red is a primary colour for light and paint') 
else: 
print(a,'is not a primary colour.') 

由输入转换成小写字母,您可以检查只是颜色的小写版本。

+0

我希望能够检查两者。例如,如果在输入I中输入YeLlOw。我希望它仍然能够打印黄色是油漆的主要颜色 – cars

+0

这就是Kevin的代码所做的。试试看。 – perfect5th

+0

假设如果我要在输入中写入OrANge。那么输出将是。橙色不是原色。当我想输出是Orange不是主要颜色。 – cars