3 回答
TA贡献1853条经验 获得超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贡献1797条经验 获得超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')
甚至按照评论的建议,使用生成器表达式,以获得理论上更好的性能
if all(not cond for cond in [member, soldier, sargent, captain, commander, president]):
print('You are not eligible to be a member')
TA贡献1847条经验 获得超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'
添加回答
举报