Python之猜拳游戏
第一次写这东西,主要是为了记录自己的学习历程,或者说是为了忘记的时候找回来看看。
今天是参加风变编程培训第10天。昨天晚上完成了第10关关底的猜拳小游戏。
要求:人和电脑轮流出拳。判断输赢。
给出列表:punches=['石头','剪刀','布']
正常代码如下:(风变给出的标准答案)
n = 0
while n < 10000:
import random
punches = ['石头','剪刀','布']
computer_choice = random.choice(punches)
user_choice = random.choice(punches)
if user_choice == computer_choice:
print('平局!')
elif (user_choice == '石头' and computer_choice == '剪刀') or (user_choice == '剪刀' and computer_choice == '布') or (user_choice == '布' and computer_choice == '石头'):
print('你赢了!')
else:
print('你输了!')
import random
n = n+1
拿到题目的第一个印象是,这个列表里,左侧赢右侧。或者说按照键值,小的为赢。让后想到'布’的键值为2,怎么让2小于0是一个问题。为了解决这个问题,列出了一个Excel,来解释这个问题:
根据组合和查看。当电脑选择布的时候,将其结果强制表达为-1(这个在列表里是允许的)这样就满足了左侧赢右侧的要求。于是我的代码写成了下面的样子:
import random
# 出拳
punches = ['石头','剪刀','布']
computer_choice = random.choice(punches)
user_choice = ''
user_choice = input('请出拳:(石头、剪刀、布)') # 请用户输入选择
while user_choice not in punches: # 当用户输入错误,提示错误,重新输入
print('输入有误,请重新出拳')
user_choice = input()
# 亮拳
print('————战斗过程————')
print('电脑出了:%s' % computer_choice)
print('你出了:%s' % user_choice)
# 胜负
print('—————结果—————')
a=punches.index(computer_choice)
b=punches.index(user_choice)
if a==b:
print('本次和局')
elif a==2:
a=-1
if punches(a,b)in punches:
print('你输了。')
else:
print('你赢了。')
与标准答案的不同寻常之处用红色标志了。是不是对程序简略了?哈哈哈,虽然只是一个小游戏,对于刚刚开始学习编程的我来说还是比较有成就感的,毕竟是一个更加简略的思路。
有没有哪位朋友帮忙捧场呢?第一次用这个东西,也不知道有没有点赞之类。哈哈哈。比较得意了。