day04 一个简单的代码优化案例

import random
punches = ['石头','剪刀','布']
computer_choice = random.choice(punches)
user_choice = input('请出拳:(石头、剪刀、布)') # 请用户输入选择
while user_choice not in punches: # 当用户输入错误,提示错误,重新输入
print('输入有误,请重新出拳')
user_choice = input() # 亮拳
print('————战斗过程————')
print('电脑出了:%s' %(computer_choice))
print('你出了:%s' %(user_choice)) # 胜负
print('—————结果—————')
if user_choice == computer_choice: # 使用if进行条件判断
print('平局!')
elif (user_choice == '石头' and computer_choice == '剪刀') or (user_choice == '剪刀' and computer_choice == '布') or (user_choice == '布' and computer_choice == '石头'):
print('你赢了!')
else:
print('你输了!')

在上面的代码中,判定你胜利的条件很长.我们可以尝试优化它

石头的索引为0,剪刀索引为1,布的索引为2(或-1)

分析发现,当你的选择在列表中的索引等于电脑的索引-1时,你总是胜利的

因此,该条件我们就可以优化为

elif user_choice == punches[punches.index(computer_choice)-1]:
上一篇:JS基础入门篇(三)— for循环,取余,取整。


下一篇:SqlServer 汉字转换拼音首字母函数