[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 字(可选)
 


posted on 2025-03-27 08:39  overmind1980  阅读(8)  评论(0)    收藏  举报