这个复杂了点,下面代码是我改进了的,更简洁。
# -*- coding= utf-8 -*-
"""
1. 出拳
玩家:手动输入
电脑:随机生成
2. 判断输赢
2.1 平局
2.2 玩家获胜
2.3 电脑获胜
"""
import random # 引入随机数函数
# 用i记录现在的局数
i=1
# 输出现在是第几局
print("第%d局"%i)
# 局数增加1
i=i+1
# 1.玩家出拳
# 输入0表示出剪刀;输入1表示出石头;输入2表示出布:
# 此时输入默认为是字符串型(str型)
player = (input('请出拳:0--剪刀;1--石头;2--布:'))
# 利用isdigit()函数判断输入是否为数字,不是数字则重新输入
while not player.isdigit():
print("输入有误,请重新输入")
player = (input('请出拳:0--剪刀;1--石头;2--布:'))
# 输入为数字,则把输入转换为整型(int型)
player = int(player)
# 判断输入的数字是否符合要求(0,1,2),若不符合要求,则重新输入
while not(0<=player<=2):
print("输入有误,请重新输入")
player = (input('请出拳:0--剪刀;1--石头;2--布:'))
# 判断输入是否为数字,不是数字则重新输入
while not player.isdigit():
print("输入有误,请重新输入")
player = (input('请出拳:0--剪刀;1--石头;2--布:'))
# 输入为数字,则把输入转换为整型(int型)
player = int(player)
# 判断并输出玩家的输入
print("你的输入为:", end=" ")
if player == 0:
print("剪刀(0)")
elif player == 1:
print("石头(1)")
else:
print("布(2)")
# 2.电脑
# computer = 0~2的随机数
computer = random.randint(0, 2)
# print(computer)输出computer的值
print("随机生成数为:", computer,end="\n")
# 平局
while player == computer:
print('平局,别走,再来一局\n')
print("第%d局"%i)
# 局数增加1
i = i + 1
# 1.玩家出拳
# 输入0表示出剪刀;输入1表示出石头;输入2表示出布:
# 此时输入默认为是字符串型(str型)
player = (input('请出拳:0--剪刀;1--石头;2--布:'))
# 利用isdigit()函数判断输入是否为数字,不是数字则重新输入
while not player.isdigit():
print("输入有误,请重新输入")
player = (input('请出拳:0--剪刀;1--石头;2--布:'))
# 输入为数字,则把输入转换为整型(int型)
player = int(player)
# 判断输入的数字是否符合要求(0,1,2),若不符合要求,则重新输入
while not (0 <= player <= 2):
print("输入有误,请重新输入")
player = (input('请出拳:0--剪刀;1--石头;2--布:'))
# 利用isdigit()函数判断输入是否为数字,不是数字则重新输入
while not player.isdigit():
print("输入有误,请重新输入")
player = (input('请出拳:0--剪刀;1--石头;2--布:'))
# 输入为数字,则把输入转换为整型(int型)
player = int(player)
# 判断并输出玩家的输入
print("你的输入为:", end=" ")
if player == 0:
print("剪刀(0)")
elif player == 1:
print("石头(1)")
else:
print("布(2)")
# 电脑
# computer = 0~2的随机数
computer = random.randint(0, 2)
# print(computer),输出computer的值
print("随机生成数为:", computer)
# 3.判断输赢
# 0--剪刀;1--石头;2--布
# 玩家获胜
if (((player == 0) and (computer == 2)) or ((player == 1) and (computer == 0)) or ((player == 2) and (computer == 1))):
print('玩家获胜,哈哈哈哈')
# 电脑获胜
else:
print('哈哈,你输了')
import random # 引入随机数函数
# 用i记录现在的局数
i=1
# 输出现在是第几局
print("第%d局"%i)
# 局数增加1
i=i+1
# 1.玩家出拳
# 输入0表示出剪刀;输入1表示出石头;输入2表示出布:
# 此时输入默认为是字符串型(str型)
player = (input('请出拳:0--剪刀;1--石头;2--布:'))
# 判断输入是否为(0,1,2)字符,不是则重新输入
while player not in('0','1','2'):
print("输入有误,请重新输入")
player = (input('请出拳:0--剪刀;1--石头;2--布:'))
# 输入为数字(0,1,2)字符,则把输入转换为整型(int型)
player = int(player)
# 判断并输出玩家的输入
print("你的输入为:", end=" ")
if player == 0:
print("剪刀(0)")
elif player == 1:
print("石头(1)")
else:
print("布(2)")
# 2.电脑
# computer = 0~2的随机数
computer = random.randint(0, 2)
# print(computer)输出computer的值
print("随机生成数为:", computer,end="\n")
# 平局
while player == computer:
print('平局,别走,再来一局\n')
print("第%d局"%i)
# 局数增加1
i = i + 1
# 1.玩家出拳
# 输入0表示出剪刀;输入1表示出石头;输入2表示出布:
# 此时输入默认为是字符串型(str型)
player = (input('请出拳:0--剪刀;1--石头;2--布:'))
# 判断输入是否为(0,1,2)字符,不是则重新输入
while player not in ('0', '1', '2'):
print("输入有误,请重新输入")
player = (input('请出拳:0--剪刀;1--石头;2--布:'))
# 输入为数字(0,1,2)字符,则把输入转换为整型(int型)
player = int(player)
# 判断并输出玩家的输入
print("你的输入为:", end=" ")
if player == 0:
print("剪刀(0)")
elif player == 1:
print("石头(1)")
else:
print("布(2)")
# 电脑
# computer = 0~2的随机数
computer = random.randint(0, 2)
# print(computer),输出computer的值
print("随机生成数为:", computer)
# 3.判断输赢
# 0--剪刀;1--石头;2--布
# 玩家获胜
if (((player == 0) and (computer == 2)) or ((player == 1) and (computer == 0)) or ((player == 2) and (computer == 1))):
print('玩家获胜,哈哈哈哈')
# 电脑获胜
else:
print('哈哈,你输了')
Python条件判断语句学习视频