Python程序設計語言使用一種不同的語法處理條件表達式:
valueTrue if condition else valueFalse
這一特性在Python 2.5以前的版本并不可用乳讥。
Guido van Rossum(Python的最初設計者及主要架構師)起初認為C?X:Y
這樣的功能容易出錯而未將此功能加入Python,不過后來有許多程序員試圖用C and [X] or [Y]
來代替之互妓,貌似這是未完全正確的方法慢显。
面對種種問題芍耘,吉多·范·羅蘇姆最終采用了X if C else Y
的方法杰扫。links..
(C and [X] or [Y])非官方用法:
>>> 1 and 'z' or 'h'
'z'
>>> 0 and 'z' or 'h'
'h'
>>> a = ''
>>> b = 'h'
>>> 1 and a or b # wrong?
'h'
>>> (1 and [a] or [b])[0] # solusion
''
>>>
題目:學習成績>=90分的同學用A表示凤壁,60-89分之間的用B表示吩屹,60分以下的用C表示
程序代碼:
# -*- coding: UTF-8 -*-
score = int(raw_input('input score:'))
# grade = 'A' if score>=90 else 'B' if score>=60 else 'C' #標準方法
grade = score>=90 and 'A' or score>=60 and 'B' or 'C'
print '%d belongs to %s' % (score, grade)