3 回答

TA貢獻(xiàn)1853條經(jīng)驗 獲得超9個贊
使用最終if條件來檢查是否沒有任何條件匹配,而不是else:
if member == True:
print('Member')
if solder == True:
print('Solder')
if sargent == True:
print('Sargent')
if captain == True:
print('Captain')
if commander == True:
print('Commander')
if president == True:
print('President')
if not (member or solder or sargent or captain or commander or president):
print('You are not eligible to be a member')
編輯:修改為打印所有符合條件的職位。

TA貢獻(xiàn)1797條經(jīng)驗 獲得超6個贊
你可以替換
else:
print('You are not eligible to be a member')
和
if all([not cond for cond in [member, soldier, sargent, captain, commander, president]]):
print('You are not eligible to be a member')
甚至按照評論的建議,使用生成器表達(dá)式,以獲得理論上更好的性能
if all(not cond for cond in [member, soldier, sargent, captain, commander, president]):
print('You are not eligible to be a member')

TA貢獻(xiàn)1847條經(jīng)驗 獲得超7個贊
只是多了一個選項,因此,如果您必須添加更多可能性,您只需將它們插入中間,而不必更改任何其他語句。
msg = []
if member:
msg.append('Member')
if solder:
msg.append('Soldier')
..
..
if new_possibility:
msg.append('blah')
if msg:
print print '\n'.join(msg)
else:
print 'Not elligible'
添加回答
舉報