python制作石头剪刀布
方法一:
import random
def rock_paper_scissors():
user_score = 100
computer_score = 100
while user_score > 0 and user_score < 200:
user_choice = int(input("请输入1(剪刀)、2(石头)、3(布):"))
computer_choice = random.randint(1, 3)
if user_choice == computer_choice:
print("平局!")
elif (user_choice == 1 and computer_choice == 3) or \
(user_choice == 2 and computer_choice == 1) or \
(user_choice == 3 and computer_choice == 2):
user_score += 10
computer_score -= 10
print(f"你赢了!当前分数:你 {user_score} 分,电脑 {computer_score} 分。")
else:
user_score -= 10
computer_score += 10
print(f"你输了!当前分数:你 {user_score} 分,电脑 {computer_score} 分。")
if user_score == 200:
print("恭喜你,赢得了比赛!")
break
elif user_score == 0:
print("很遗憾,你输了比赛。")
break
rock_paper_scissors()
方法二:
import random as r #引入random模块
pai=["石头","剪刀","布"] #定义个数组
count=0 #定义count 用来计算一共出拳了多少次
pj=0 #定义pj 用来定义计算平局
sj=0 #定义sj 用来计算你的胜局
shuju=0 #定义shuju 用来计算你的输局
pc_g=100 #设定电脑初始值100
ren_g=100 #设置你的初始值分为100
while True:
s=input("请输入你的手势>>")
if not s: #判断如果 没有输入则退出循环
break #退出循环
cp_s=r.choice(pai) #随机取列表的pai的值 相当于电脑随机出拳
print(s,cp_s) #测试 打印你和电脑的各自结果
cp_i=pai.index(cp_s) #通过列表值来获取值对应的索引号
s_i=pai.index(s)
print(s_i,cp_i) #打印出各自的索引号
if ren_g==0 or ren_g==200: #判断 你的分如果是0 或者200
break #退出循环
else:
if cp_i==s_i: #判断如果你和电脑出拳一样
print("平局")
pj+=1 #平局数加1
count+=1 #总局数加1
print(f"{ren_g}分") #打印出 你的分数
elif cp_i==0: #判断如果 电脑是0
if s_i==1: #再判断如果你是1
print("pc win") #电脑赢
ren_g-=10 #你的分数减1
shuju+=1 #输局加1
count+=1 #总局数加1
print(f"{ren_g}分") #打印你的分数
else:
print("you win")
ren_g+=10
sj+=1
count+=1
print(f"{ren_g}分")
elif cp_i==1:
if s_i==0:
print("you win")
ren_g+=10
sj+=1
count+=1
print(f"{ren_g}分")
else:
print("pc win")
ren_g-=10
shuju+=1
count+=1
print(f"{ren_g}分")
else:
if s_i==0:
print("pc win")
ren_g-=10
count+=1
shuju+=1
print(f"{ren_g}分")
else:
print("you win")
ren_g+=10
count+=1
sj+=1
print(f"{ren_g}分")
print(f"共{count}局, 胜局{sj},平局{pj}, 输局{shuju}")