[oeasy]python079_如何产生随机数字_random_随机来源

[oeasy]python079_如何产生随机数字_random_随机来源 回忆上次内容

  • 上次了解的是 字符串

添加图片注释,不超过 140 字(可选)

  • 字符串 就是 字符的串

  • 字符串长度 可以用 len函数

  • 字符可以用下标索引 []

  • 可以有正索引

  • 也可以有负索引

  • 可以有随机数字吗?🤔

  • 怎么玩呢?🤔

搜索

  • 向ai提问🙋

添加图片注释,不超过 140 字(可选)

  • 得到 random.randint 函数

  • 去游乐场 一探究竟

具体使用 import random random.randint(1, 10) random.randint(1, 10) random.randint(1, 10)

  • 导入 random 包

  • 确实可以返回数字

  • 左右两个端点都能到达

添加图片注释,不超过 140 字(可选)

  • 确实找到了这random包

  • random包位于 /usr/lib/python3.8/random.py

  • 就像找到 当时自己做的包(my_file) 一样

添加图片注释,不超过 140 字(可选)

  • random包中的randint啥意思🤔

查询帮助

  • 查询 random.randint 的 帮助

help(random.randint)

  • randint

  • rand 随机

  • int 整数

  • 随机整数

添加图片注释,不超过 140 字(可选)

  • random.randint

  • 有两个参数

  • 两个边界端点

  • 两个边界 都有可能得到

  • 返回值类型 是 整数

  • 离开游乐场

  • 去写个随机数 py程序

尝试 vi random.py

  • 编辑random.py

import random r = random.randint(1, 10) print(r)

  • 保存并运行

出错了

  • 报错了

  • 注意 红框

添加图片注释,不超过 140 字(可选)

  • random模块

  • 来自于 /home/shiyanlou/random.py

  • 这好像 不是系统的random包

  • 系统的random包

  • 在哪儿来着呢?

寻找

  • 退出vim

  • 向上翻

添加图片注释,不超过 140 字(可选)

  • random包位于

  • /usr/lib/python3.8/random.py

  • 引入的random包

  • 不是系统给的random包?!😱

导入过程

  • 导入random时

import random

  • 程序会在 当前位置 先找 random.py

  • 找到了 本地这个文件

  • /home/shiyanlou/random.py

  • 就 不再找 了

  • 真正需要导入的

  • /usr/lib/python3.8/random.py

添加图片注释,不超过 140 字(可选)

  • 说白了就是

  • 导错 位置了!

冷静

添加图片注释,不超过 140 字(可选)

  • 出错

  • 不是我们无能的标志

  • 而是 我们努力的见证

  • 更是 进步的阶梯

添加图片注释,不超过 140 字(可选)

  • 去修改!

程序改名

  • 本地的random.py

  • 不能 再重名了

  • 必须改名

  • 改为 random_new.py

mv random.py random_new.py

  • 将random.py的文件名

  • 改为 random_new.py

添加图片注释,不超过 140 字(可选)

  • 目前状态

  • random.py消失了

  • 可以看到 random_new.py

新想法

  • 想求两个随机数的和

添加图片注释,不超过 140 字(可选)

  • 怎么写提示词呢?🤔

提问 使用python里面编写终端程序,生成两个十以内的随机整数,然后让这两个数相加,得到结果。显示整个加法过程。不要使用函数,直接执行就好。

添加图片注释,不超过 140 字(可选)

新建文件 vi random_add.py

  • 新建random_add.py

import random # 生成两个10以内的随机整数 num1 = random.randint(0, 10) num2 = random.randint(0, 10) # 计算和 sum_result = num1 + num2 # 显示加法过程 print(f"生成的两个随机数是: {num1} 和 {num2}") print(f"{num1} + {num2} = {sum_result}") 结果

  • 效果很好

添加图片注释,不超过 140 字(可选)

  • 想出一道十以内加法的题目

  • 让小朋友在终端做题

  • 然后计算机负责判断对错

  • 对了打✅

  • 错了打❌

提问

添加图片注释,不超过 140 字(可选)

import random # 生成两个10以内的随机整数 num1 = random.randint(0, 10) num2 = random.randint(0, 10) # 计算正确的和 correct_sum = num1 + num2 # 显示加法题目 print(f"请计算: {num1} + {num2} = ?") # 获取用户输入的答案 user_answer = input("请输入你的答案: ") # 将用户输入转换为整数 try: user_answer = int(user_answer) except ValueError: print("请输入一个有效的整数!") exit() # 判断用户答案是否正确 if user_answer == correct_sum: print("✅ 正确!") else: print(f"❌ 错误!正确答案是: {correct_sum}") 结果

  • 效果达成

  • 程序也完全能够看懂😄

添加图片注释,不超过 140 字(可选)

  • 想让小朋友做十以内的加法

  • 做对3道之后

  • 停止

提问

添加图片注释,不超过 140 字(可选)

import random # 初始化变量 correct_count = 0 # 记录做对题目的数量 max_correct = 3 # 达到这个数量后停止 # 循环,直到小朋友做对三道题 while correct_count < max_correct: # 生成两个1到10之间的随机数 num1 = random.randint(1, 10) num2 = random.randint(1, 10) # 生成题目 question = f"{num1} + {num2} = ?" # 获取用户答案 try: user_answer = int(input(question + " ")) # 计算正确答案 correct_answer = num1 + num2 # 检查答案是否正确 if user_answer == correct_answer: print("Correct!") correct_count += 1 # 答对题目,计数器增加 else: print("Wrong! The correct answer is:", correct_answer) correct_count = 0 # 重置计数器,因为这次没做对 except ValueError: print("Please enter a valid number.") # 检查是否达到三道题 if correct_count == max_correct: print("Great job! You've answered three questions correctly.") else: print(f"Keep going! You've got {max_correct - correct_count} more to go.") # 结束 print("Practice finished.") 效果

添加图片注释,不超过 140 字(可选)

  • 如果出错了呢?

添加图片注释,不超过 140 字(可选)

  • 目前是必须连续三次答对才退出

  • 我需要累积三次答对就可以退出

三问

添加图片注释,不超过 140 字(可选)

  • 新建文件

vim random_add_2.py 新代码 import random # 初始化变量 correct_count = 0 # 记录做对题目的数量 max_correct = 3 # 达到这个数量后停止 # 循环,直到小朋友累积做对三道题 while correct_count < max_correct: # 生成两个1到10之间的随机数 num1 = random.randint(1, 10) num2 = random.randint(1, 10) # 生成题目 question = f"{num1} + {num2} = ?" # 获取用户答案 try: user_answer = int(input(question + " ")) # 计算正确答案 correct_answer = num1 + num2 # 检查答案是否正确 if user_answer == correct_answer: print("Correct!") correct_count += 1 # 答对题目,计数器增加 else: print("Wrong! The correct answer is:", correct_answer) except ValueError: print("Please enter a valid number.") # 检查是否达到三道题 if correct_count == max_correct: print("Great job! You've answered three questions correctly.") else: print(f"Keep going! You've got {max_correct - correct_count} more to go.") # 结束 print("Practice finished.") 最终效果

  • 满足要求了

添加图片注释,不超过 140 字(可选)

  • 两个程序之间有什么区别呢?

对比代码 vimdiff random_add.py random_add_2.py

添加图片注释,不超过 140 字(可选)

  • 只删了一句话

  • 原来的29句

  • 错误之后不清零了

总结

  • 这次主要是 随机数的生成

  • 使用 random包中的 randint(a,b)函数

  • 生成[a,b]范围中的整数

  • 包括 两端 a,b

添加图片注释,不超过 140 字(可选)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值