2016-08-24 52 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