1

random库的应用—石头、剪子、布小游戏

 1 month ago
source link: https://blog.51cto.com/u_14940497/10513023
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

random库的应用—石头、剪子、布小游戏

精选 原创

bruce_xiaowei 2024-04-18 18:09:58 博主文章分类:编程 ©著作权

文章标签 python ico 随机数 文章分类 代码人生 阅读数136

Random标准库的用法

在Python中,random是一个标准库,提供了生成随机数的功能。以下是一些常见用法:

  1. 生成随机整数:
import random

# 生成指定范围内的随机整数
random_int = random.randint(1, 100)
  1. 生成随机浮点数:
import random

# 生成0到1之间的随机浮点数
random_float = random.random()
  1. 从序列中随机选择元素:
import random

choices = ['石头', '剪刀', '布']
random_choice = random.choice(choices)
  1. 打乱序列中元素的顺序:
import random

items = [1, 2, 3, 4, 5]
random.shuffle(items)
  1. 生成随机种子:
import random

# 设置随机种子,可复现随机结果
random.seed(42)
  1. 实现按照指定概率随机事件:
import random

# 按照指定概率返回True或False
probability = 0.7
result = random.random() < probability

通过使用random标准库,可以方便地处理生成随机数、随机选择元素、打乱序列顺序等任务。

示例:剪刀、石头、布游戏

import random
'''
✊: \U0001F44A (对应Unicode码点:U+1F44A)
✌️: \U0000270C (对应Unicode码点:U+270C)
👋: \U0001F44B (对应Unicode码点:U+1F44B)
'''

def rock_paper_scissors(player_choice, computer_choice):
    if player_choice == computer_choice:
        return "平局"
    elif (player_choice == '石头' and computer_choice == '剪刀') or \
            (player_choice == '剪刀' and computer_choice == '布') or \
            (player_choice == '布' and computer_choice == '石头'):
        return "玩家获胜"
    else:
        return "电脑获胜"

# 初始化玩家赢的次数为0
player_win = 0
# 初始化电脑赢的次数为0
computer_win = 0
# 定义一个字典,键为1,2,3,值为石头、剪刀、布
choices_dict = {1:'石头', 2:'剪刀', 3:'布'}
unicode_dict = {1:'\U0001F44A', 2:'\U0000270C',3:'\U0001F44B'}
n = 0
ju = int(input('请输入局数:'))
while n < ju:
    print('- '*20)
    print(f'第{n+1}局开始:')
    try:
        player_choice = int(input("请输入你的选择(1<石头>、2<剪刀>、3<布>): "))
        computer_choice = random.randint(1,3)

        print(f"玩家选择了:{choices_dict[player_choice]}",unicode_dict[player_choice])
        print(f"电脑选择了:{choices_dict[computer_choice]}",unicode_dict[computer_choice])

        result = rock_paper_scissors(choices_dict[player_choice], choices_dict[computer_choice])
        if result == '玩家获胜':
            player_win += 1
        elif result == '电脑获胜':
            computer_win += 1

        print(f"游戏结果:{result}")
        print(f'第{n+1}局结束')
        n += 1
    except:

        print('请做出正确选择(1,2,3)!!!')
        break

print(f'游戏最终结果:游戏玩家赢{player_win}场,计算机赢{computer_win}场。')

运行结果如下:

请输入局数:5
- - - - - - - - - - - - - - - - - - - - 
第1局开始:
请输入你的选择(1<石头>、2<剪刀>、3<布>): 1
玩家选择了:石头 👊
电脑选择了:剪刀 ✌
游戏结果:玩家获胜
第1局结束
- - - - - - - - - - - - - - - - - - - - 
第2局开始:
请输入你的选择(1<石头>、2<剪刀>、3<布>): 1
玩家选择了:石头 👊
电脑选择了:布 👋
游戏结果:电脑获胜
第2局结束
- - - - - - - - - - - - - - - - - - - - 
第3局开始:
请输入你的选择(1<石头>、2<剪刀>、3<布>): 2
玩家选择了:剪刀 ✌
电脑选择了:布 👋
游戏结果:玩家获胜
第3局结束
- - - - - - - - - - - - - - - - - - - - 
第4局开始:
请输入你的选择(1<石头>、2<剪刀>、3<布>): 3
玩家选择了:布 👋
电脑选择了:布 👋
游戏结果:平局
第4局结束
- - - - - - - - - - - - - - - - - - - - 
第5局开始:
请输入你的选择(1<石头>、2<剪刀>、3<布>): 1
玩家选择了:石头 👊
电脑选择了:剪刀 ✌
游戏结果:玩家获胜
第5局结束
游戏最终结果:游戏玩家赢3场,计算机赢1场。

以上的部分代码是在[小蜜蜂AI][ https://zglg.work]GPT问答获取,然后本人有做了一些修改。

  • 收藏
  • 评论
  • 分享
  • 举报

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK