Python之猜拳游戏[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(“你赢了。”)

与标准答案的不同寻常之处用红色标志了。是不是对程序简略了?哈哈哈,虽然只是一个小游戏,对于刚刚开始学习编程的我来说还是比较有成就感的,毕竟是一个更加简略的思路。

有没有哪位朋友帮忙捧场呢?第一次用这个东西,也不知道有没有点赞之类。哈哈哈。比较得意了。

 

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » Python之猜拳游戏