A30416.【PY】野生的马保国
2024-11-02 11:08:55
发布于:浙江
# 读取马保国的出拳
ma_baoguo = int(input())
# 读取挑战者的出拳
challenger = int(input())
# 判断胜负
if ma_baoguo == challenger:
result = "Draw"
elif (ma_baoguo == 1 and challenger == 2) or \
(ma_baoguo == 2 and challenger == 3) or \
(ma_baoguo == 3 and challenger == 1):
result = "Win"
else:
result = "Fail"
# 输出结果
print(result)
1. 输入部分
# 读取马保国的出拳
ma_baoguo = int(input())
# 读取挑战者的出拳
challenger = int(input())
ma_baoguo = int(input()):这行代码从标准输入读取一个整数,并将其赋值给变量 ma_baoguo。这个整数代表马保国的出拳选择(1表示石头,2表示剪刀,3表示布)。
challenger = int(input()):这行代码从标准输入读取一个整数,并将其赋值给变量 challenger。这个整数代表挑战者的出拳选择(1表示石头,2表示剪刀,3表示布)。
2. 逻辑判断部分
# 判断胜负
if ma_baoguo == challenger:
result = "Draw"
elif (ma_baoguo == 1 and challenger == 2) or \
(ma_baoguo == 2 and challenger == 3) or \
(ma_baoguo == 3 and challenger == 1):
result = "Win"
else:
result = "Fail"
if ma_baoguo == challenger::这行代码判断马保国和挑战者的出拳是否相同。如果相同,则结果为平局(Draw)。
result = "Draw":将结果设置为字符串 "Draw"。
elif (ma_baoguo == 1 and challenger == 2) or (ma_baoguo == 2 and challenger == 3) or (ma_baoguo == 3 and challenger == 1)::这行代码判断马保国是否能赢得比赛。具体条件如下:
马保国出石头(1)且挑战者出剪刀(2)。
马保国出剪刀(2)且挑战者出布(3)。
马保国出布(3)且挑战者出石头(1)。
如果满足上述任一条件,则结果为马保国胜利(Win)。
result = "Win":将结果设置为字符串 "Win"。
else::如果以上两个条件都不满足,则意味着挑战者胜利,结果为失败(Fail)。
result = "Fail":将结果设置为字符串 "Fail"。
3. 输出部分
# 输出结果
print(result)
print(result):这行代码将变量 result 的值打印到标准输出。result 的值可能是 "Win"、Draw" 或 "Fail",分别表示马保国胜利、平局或失败。
总结
这段代码的主要功能是实现一个简单的“石头剪刀布”游戏,通过读取马保国和挑战者的出拳选择,判断比赛的结果,并输出结果。代码逻辑清晰,结构简单,易于理解。
可能的改进
增加输入验证,确保用户输入的是有效的数字(1, 2, 或 3)。
使用字典来映射数字到具体的拳名称(石头、剪刀、布),提高代码的可读性。
例如:
choices = {1: '石头', 2: '剪刀', 3: '布'}
# 读取马保国的出拳
ma_baoguo = int(input("请输入马保国的出拳(1-石头,2-剪刀,3-布):"))
# 验证输入
if ma_baoguo not in choices:
print("无效输入!")
else:
# 读取挑战者的出拳
challenger = int(input("请输入挑战者的出拳(1-石头,2-剪刀,3-布):"))
# 验证输入
if challenger not in choices:
print("无效输入!")
else:
# 判断胜负
if ma_baoguo == challenger:
result = "Draw"
elif (ma_baoguo == 1 and challenger == 2) or \
(ma_baoguo == 2 and challenger == 3) or \
(ma_baoguo == 3 and challenger == 1):
result = "Win"
else:
result = "Fail"
# 输出结果
print(f"结果:{result}")
这里空空如也
有帮助,赞一个