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(“你赢了。”)
与标准答案的不同寻常之处用红色标志了。是不是对程序简略了?哈哈哈,虽然只是一个小游戏,对于刚刚开始学习编程的我来说还是比较有成就感的,毕竟是一个更加简略的思路。
有没有哪位朋友帮忙捧场呢?第一次用这个东西,也不知道有没有点赞之类。哈哈哈。比较得意了。