内容正文:
while 条件循环
L/O/G/O
while 条件循环:在规定的条件内,循环执行某个程序块。
基本结构:
while 循环条件:
循环体程序块
条件为True,重复执行循环体程序块;
条件为False,结束循环。
流程图:
单击此处编辑母版文本样式
二级
三级
四级
五级
例1:输出小于10的正奇数
a=1
while a<10:
print(a)
a=a+2
运行程序
单击此处编辑母版文本样式
二级
三级
四级
五级
观察:while语句的执行过程
单击此处编辑母版文本样式
二级
三级
四级
五级
例2:程序在1~100之间取随机数作为神秘数字,请玩家猜是什么数字。
如果没猜中:猜大了,显示提示信息“你的数字大了,请重猜!”,并且让用户继续猜;猜小了,显示提示信息“你的数字小了,请重猜!”,并且让用户继续猜;如果猜中了,就结束游戏。
思考:什么条件下用户需要重复猜?
用户猜的数字不是神秘数字
单击此处编辑母版文本样式
二级
三级
四级
五级
random()
生成0~1之间的随机小数。[0,1),大于等于0.0小于1.0
语法格式为:random.random()
random:生成随机数
import random可导入random模块。
randint(a,b)
生成a~b之间的随机整数。[a,b],大于等于a小于等于b。
语法格式为:random.randint(a,b)
单击此处编辑母版文本样式
二级
三级
四级
五级
import random
secret_number=random.randint(1,100)
your_number=int(input("请输入你猜的数字"))
while your_number!=secret_number:
if your_number>secret_number:
print("你的数字大了,请重猜")
else:
print("你的数字小了,请重猜")
your_number=int(input("请输入你猜的数字"))
print("猜中啦!你真聪明!")
单击此处编辑母版文本样式
二级
三级
四级
五级
例3:任意输入一个除了1以外的正整数,判断它是否为质数。
思考:什么是质数?
即这个数只能被1和自己整除,若这个正整数为x,即只能被1和x整除。
如果被2~(x-1)中任意一个整数整除了,这个正整数就不是质数。
除了1以外的只能被1和本身整除的正整数被称为质数
单击此处编辑母版文本样式
二级
三级
四级
五级
让这个正整数x分别除以2~x中的每一个整数,如果只有x能被整除,即说明x是质数;
正整数x重复除以i,直到i和x相等,结束循环
2~x
设置变量i,为变量累加:i=i+1
单击此处编辑母版文本样式
二级
三级
四级
五级
x=int(input("输入一个不是1的正整数"))
i=2
while x%i!=0:
i=i+1
if x==i:
print(str(x)+"是质数")
else:
print(str(x)+"不是质数")
单击此处编辑母版文本样式
二级
三级
四级
五级
手持一枚硬币,抛向空中,让硬币自由下落,硬币落地后正面朝上和反面朝上的概率各是多少?
随机现象:在一定条件下,在个别试验或观察中呈现不确定性,但在大量重复试验或观察中其结果又具有一定规律性的现象,称为随机现象。
概率各为50%
单击此处编辑母版文本样式
二级
三级
四级
五级
主题:编写程序,模拟掷硬币后出现正面朝上和反面朝上的结果
1.问题需求:
统计给定次数条件下,正面朝上和反面朝上的出现的次数,并输出统计结果。
2.输入和输出:
输入:程序本身限定次数;
增加交互性和趣味性:由用户输入次数。
输出:分别打印正面朝上和反面朝上的次数。
单击此处编辑母版文本样式
二级
三级
四级
五级
实现相关功能的思路方法:
因为投掷硬币正面朝上和反面朝上是随机出现的,即1和0是随机出现的,因此可用random()函数生成0和1
1.如何表示正面朝上和反面朝上?
用1表示正面朝上,用0表示反面朝上,使用变量赋值
2.如何生成1和0?
需要重复掷骰子,统计正面朝上和反面朝上的次数,因此需要重复生成随机数,用while条件循环在给定的次数范围内,重复统计1和0出现的次数。
3.如何统计1和0出现的次数?
单击此处编辑母版文本样式
二级
三级
四级
五级
import random
n=int(input("请输