if…else实现“石头剪刀布”游戏,while、函数自调用实现循环游戏。
(本笔记适合学过if…else的coder翻阅)
Python 官网:https://www.python.org/
Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那么简单……
地址:https://lqpybook.readthedocs.io/
自学并不是什么神秘的东西,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。
—— 华罗庚
本文质量分:
CSDN质量分查询入口:http://www.csdn.net/qc
问题代码
import random
print("*************欢迎来到猜拳游戏*****************")
user=int(input("请输入你所要出的拳,1拳头2剪刀3布\n"))
if user >=1 and user <=3:
print("您出的拳为{}".format(user))
a = random.randint(1, 3)
print("电脑出的为{}".format(a))
if user == a:
print("您与电脑达成平局")
elif((user == 1 and a==2)
or(user == 2 and a==3)
or(user == 3 and a==1)):
print("电脑不服气要和您再来一把!")
else:
print("不要气馁,胜败乃兵家常事")
else
print("请输入符合规则的1-3内的数")
修改缩进,加上漏掉的冒号后代码
#!/sur/bin/nve python
# coding: utf-8
import random
print("*************欢迎来到猜拳游戏*****************")
user=int(input("请输入你所要出的拳,1拳头2剪刀3布\n"))
if user >=1 and user <=3:
print("您出的拳为{}".format(user))
a = random.randint(1, 3)
print("电脑出的为{}".format(a))
if user == a:
print("您与电脑达成平局")
elif((user == 1 and a==2) or (user == 2 and a==3) or (user == 3 and a==1)):
print("电脑不服气要和您再来一把!")
else:
print("不要气馁,胜败乃兵家常事")
else:
print("请输入符合规则的1-3内的数")
代码
#!/sur/bin/nve python
# coding: utf-8
import random
print(f"\n{' 欢迎来到猜拳游戏 ':*^33}")
user=int(input(f"\n{'1. 拳头 2. 剪刀 3. 布':^36}\n{'':~^41}\n{'请您出拳:':>14}"))
user_s = '拳头' if user == 1 else '剪刀' if user == 2 else '布'
if user >=1 and user <=3:
print("\n您出的拳为“{}”".format(user_s))
a = random.randint(1, 3)
a_s = '拳头' if a == 1 else '剪刀' if a == 2 else '布'
print("电脑出的为“{}”".format(a_s))
if user == a:
print(f"\n{'':~^41}\n{'您与电脑打成平局。':^32}")
elif (user == 1 and a==2) or (user == 2 and a==3) or (user == 3 and a==1):
print(f"\n{'您赢了!':^37}\n{'':~^41}\n{'电脑不服气要和您再来一把!':^28}")
else:
print(f"\n{'您输了!':^37}\n{'':~^41}\n{'不要气馁,胜败乃兵家常事。':^28}")
else:
print("请输入符合规则的1-3内的数")
还可以用一个while循环把游戏代码“包”起来,设置一个“开关”,就可以与“机器”玩儿到不想玩才退出。也可以用函数自调用,实现循环游戏。
代码
#!/sur/bin/nve python
# coding: utf-8
import random
clear = '\033[2J' # 清屏控制字符串,清除终端可见屏幕字符。
while True:
print(f"{clear}\n\n{' 欢迎来到猜拳游戏 ':*^33}")
user = input(f"\n{'1. 拳头 2. 剪刀 3. 布':^36}\n{'':~^41}\n{'(直接回车退出程序)':^33}\n\n{'请您出拳:':>14}")
if not user:
print(f"{clear}\n\n{' 欢迎下次再玩猜拳游戏 ':*^31}\n")
break
user = int(user)
user_s = '拳头' if user == 1 else '剪刀' if user == 2 else '布'
if user >=1 and user <=3:
print(f"\n\n{'':>8}{'':.^22}\n\n{'':>12}您出的拳为“{user_s}”")
a = random.randint(1, 3)
a_s = '拳头' if a == 1 else '剪刀' if a == 2 else '布'
print(f"{'':>12}电脑出的为“{a_s}”\n\n{'':>8}{'':.^22}\n")
if user == a:
print(f"\n{'':~^41}\n{'您与电脑打成平局。':^32}")
elif ((user == 1 and a==2)
or (user == 2 and a==3)
or (user == 3 and a==1)):
print(f"\n{'您赢了!':^37}\n{'':~^41}\n{'电脑不服气要和您再来一把!':^28}")
else:
print(f"\n{'您输了!':^37}\n{'':~^41}\n{'不要气馁,胜败乃兵家常事。':^28}")
else:
print(f"\n{'':~^41}\n{'请输入1-3内的数字。':^33}")
input(f"\n{' 任意键继续…… ':~^35}")
代码
#!/sur/bin/nve python
# coding: utf-8
import random
def play():
clear = '\033[2J' # 清屏控制字符串,清除终端可见屏幕字符。
print(f"{clear}\n\n{' 欢迎来到猜拳游戏 ':*^33}")
user = input(f"\n{'1. 拳头 2. 剪刀 3. 布':^36}\n{'':~^41}\n{'(直接回车退出程序)':^33}\n\n{'请您出拳:':>14}")
if not user:
print(f"{clear}\n\n{' 欢迎下次再玩猜拳游戏 ':*^31}\n")
return
user = int(user)
user_s = '拳头' if user == 1 else '剪刀' if user == 2 else '布'
if user >=1 and user <=3:
print(f"\n\n{'':>8}{'':.^22}\n\n{'':>12}您出的拳为“{user_s}”")
a = random.randint(1, 3)
a_s = '拳头' if a == 1 else '剪刀' if a == 2 else '布'
print(f"{'':>12}电脑出的为“{a_s}”\n\n{'':>8}{'':.^22}\n")
if user == a:
print(f"\n{'':~^41}\n{'您与电脑打成平局。':^32}")
elif ((user == 1 and a==2)
or (user == 2 and a==3)
or (user == 3 and a==1)):
print(f"\n{'您赢了!':^37}\n{'':~^41}\n{'电脑不服气要和您再来一把!':^28}")
else:
print(f"\n{'您输了!':^37}\n{'':~^41}\n{'不要气馁,胜败乃兵家常事。':^28}")
else:
print(f"\n{'':~^41}\n{'请输入1-3内的数字。':^33}")
if input(f"\n\n{'任意键退出……':^35}\n{'':~^41}\n{'(直接回车继续游戏)':^33}"):
print(f"{clear}\n\n{' 欢迎下次再玩猜拳游戏 ':*^31}\n")
return
play() # 函数自调用实现循环。
if __name__ == '__main__':
play()
我的HOT博:
本次共计收集 223 篇博文笔记信息,总阅读量 38.53w,平均阅读量 1727。已生成 25 篇阅读量不小于 3000 的博文笔记索引链接。数据采集于 2023-08-20 06:08:51 完成,用时 4 分 54.78 秒。
精品文章:
来源:老齐教室
◆ Python 入门指南【Python 3.6.3】
好文力荐:
CSDN实用技巧博文: