Python小记4

https://www.cnblogs.com/airlinp/p/12509533.html

7.3 if嵌套小练习 — 石头剪刀布游戏(模拟电脑版)

# 用户出石头(1),剪刀(2),布(3)
player = int(input("请输入你要出的石头(1),剪刀(2),布(3):"))
# 模拟电脑
computer = int(input("模拟电脑出的石头(1),剪刀(2),布(3):"))
# 输出出手情况
print("用户出的是 %d — 电脑出的是 %d。" % (player, computer))
# 判断用户胜利情况
if (player == 1 and computer == 2) or (player == 2 and computer == 3) or (player == 3 and computer == 1):
print("用户胜。")
# 判断平局情况
elif player == computer:
print("平局")
# 电脑胜
else:
print("电脑胜。")

由上面代码可知:

  • 定义1代表石头,2代表剪刀,3代表布;
  • 电脑固定出1石头;
  • 判断用户胜利、平局、电脑胜3中情况;

用户胜:

由上图可知:用户输入3布,电脑输入1石头,所以用户胜利;

平局:

 由上图可知:用户出1石头,电脑出1石头,则平局;

电脑胜:

由上图可知:用户出1石头,电脑出3布,电脑胜;

总结:

  • 由于目前阶段,所学有限,暂时只能使用最基础和原始的办法完成练习;
  • 在这个小游戏练习中,使用到了input输入、int数据转换、if嵌套;
  • 在处理逻辑中,先应该理清游戏的机制,用户胜的需要满足的条件,平局需要满足的条件,电脑胜需要满足的条件;
  • 当处理完用户胜的情况后,在剩下的平局、电脑胜中进行选择,哪一个情况的代码更容易编写或实现,经过思考,平局的情况所需要的代码最少,并且判断条件也很简单,所以先处理平局的情况,当用户胜、平局都处理完成后,剩下的肯定只有电脑胜,直接使用else,无需再编写复杂的条件逻辑,完成最后的判断;
  • 在实际应用中,不仅仅是需要将事件本身思考完整、明确,还需要思考解决方法的优劣性,逐步提高代码编写的水平,事件处理的水平;

7.4 if嵌套小练习 — 石头剪刀布游戏(电脑随机数版)

# 将random随机数模块导入内存
import  random
# 用户出石头(1),剪刀(2),布(3)
player = int(input("请输入你要出的石头(1),剪刀(2),布(3):"))
# 电脑随机数
computer = random.randint(1,3)
# 输出出手情况
print("用户出的是 %d — 电脑出的是 %d。" % (player, computer))
# 判断用户胜利情况
if (player == 1 and computer == 2) or (player == 2 and computer == 3) or (player == 3 and computer == 1):
    print("用户胜。")
    # 判断平局情况
elif player == computer:
    print("平局")
# 电脑胜
else:
    print("电脑胜。")

由上面的代码和执行截图可知:

  • 当前小游戏中,使用随机数模块为random;
  • random里包含了多种类型随机数,本次练习中使用randint整数型随机数;
  • randint()小括号内,用于规定随机数范围,并包含起始数字在内,例如代码中的randint(1,3)代表随机数n的范围是1≤n≤3,即1、2、3三种情况;

猜你喜欢

转载自www.cnblogs.com/airlinp/p/12516653.html
今日推荐