Python学习日记–循环
1.for循环的应用
# 求1-100的和
ta = 0
for i in range(1,101):
ta += i
print(ta)
# 求 1-2+3-4+5-6+...-98+99-100
# 第一种
for i in range(1,101):
if i % 2 == 0:
qh -= i
else:
qh += i
print(qh)
# 第二种
q1 = 0
q2 = 0
for i1 in range(1,100,2):
q1 += i1
for i2 in range(2,101,2):
q2 += i2
print(q1 - q2)
# 1-100之间取是3的倍数且个位数是5的数的前两个
count = 0
for i in range(1,101):
if i % 3 == 0 and i % 10 == 5:
count += 1
print(i)
if count == 2:
break
2. while循环
1>循环结构:
定义一个变量作为循环判断的起始值
while 条件判断:
代码块
对标for in range 解读:
i = 1 起始值
for in range( 1 , 101 , 1 ) =====> while i < 101: 终止值
起始 终止 步长 i += 1 步长
2>案例
练习1: 有1023个桃子, 猴子每天吃桃子剩余个数的一半多1个,问多少天能吃完
tz = 1023 # 桃子的个数
day = 0 # 计数器【天数】
while tz > 0: # 吃完 记录的剩余的桃子的个数
tz = tz - (tz // 2 + 1) # 整除的意思是每一次循环的时候都是整数的桃子,桃子不能有小数
day += 1
print('1023个桃子猴子需要', day, '天吃完')
练习2:录入一个大于1的整数,如果这个数值是偶数,将数据整除2后-1,如果这个数是奇数,将这个数据-1再整除2,问多少次之后才能将数据设置为0
num = int(input('请输入一个大于1整数:'))
num1 = num # 记录原始的数据
count1 = 0
while num > 0:
if num % 2 == 0: # 判断奇偶性
num = num // 2 - 1
else:
num = (num - 1) // 2
count1 += 1
print(num1, '经过运算', count1, '次之后置为0')
练习3:一张纸的厚度是0.8mm,假设纸足够长,问对折多少次可以将纸的高度达到1000米
# 第一种方法
gd = 0.8
count2 = 0
while gd < 1000 * 1000: # 首先要统一单位,纸的厚度是毫米,那么1000米的厚度也要转换成毫米
gd *= 2 # 每次对折都是厚度乘以2
count2 += 1
print('0.8mm的纸经过', count2, '次对折后达到千米')
# 第二种方法
gd = 0.8
count2 = 0
while True :
gd *= 2
count += 1
if gd >= 1000 * 1000
print(count2)
brank
小游戏
"""
数字炸弹:
规则:有一个出题人 随便在1-100之间设定一个数据,然后其他人猜
猜小了、猜大了 出题人提示新的范围
猜中了 就一顿暴揍
假如是69
你: 85 出题人 1-85
他: 70 出题人 1-70
她: 55 出题人 55-70
我: 69 挨揍了
"""
import random
sjs = random.randint(1, 100) # 生成1-100之间的随机数
start = 1 # 起始值1
stop = 100 # 终止值100
while True: # 猜的动作是循环的
# 提示输入数字,数字范围改成变量
pass_sz = int(input('请在' + str(start) +'-' + str(stop) +'之间竞猜:' ))
if pass_sz > sjs: # 然后对输入的值进行判断,大的话把输入的值赋值给终止值,小的话赋值给起始值
print('猜大了')
stop = pass_sz
elif pass_sz < sjs:
print('猜小了')
start = pass_sz
else:
print('你猜对了,暴揍中。。。。。。') # 猜中就结束
break
print('游戏结束了')
3.关键字
1>break:在循环中起到中断循环的作用,退出循环
2>continue:在循环中可以结束当前循环,回到循环条件,可开启下一轮的循环
4.while 和 for 循环的区别
while 使用在循环次数不确定的情况下
for 使用在循环次数确定的情况下