Python——while循环

while循环

语法

while 条件判断:
    循环体代码块

解读

只要条件成立,程序就一直在此循环,直到循环条件不成立

案例

输出 1——10之间的数据
for循环的思想
# 需要一个容器,容器中存放在1-10
for i in range(1, 11):  #  容器的起始值是1  步长是1  结束位置是11[不包含]
    print(i)
print('================')
while循环的思想
"""
1. 重复做的操作是什么   ==== 打印数据  每次打印的都是1个
2. 做这件事情的条件  ===== 只要打印的数据没有到10  就得一直打印
"""
# 根据这两件事情,需要哪些数据支持
# 打印数据 每打印1次 数据要在原来的基础上+1
# 也就是说要打印的数据是变化的  就得设置标记名给其进行标记 【定义一个变量 记录打印的数据值】
num = 1
# 循环的操作
num = 1
while num <= 10:
    #print(num)
    num += 1
print(num)

例题

# 1-10中的偶数  使用while打印1-10中的偶数
# 定义一个数据的起始值
m = 1
# 循环 数据进行递增
while m <= 10:
    if m % 2 == 0:
        print(m)
    m += 1
# 使用while循环 完成 1+2+3+...+100
num=1
count=0
while num <= 100:
    count += num
    num +=  1
print(count)
# 求1-2+3-4+5-...+99-100
num1 = 1
count1 = 0
while num1 < 101:
    count1 += num1 * (-1) ** (num1 - 1)
    num1 += 1
print(count1)
# 求1——100中能被3整除且个位数是5的个数
count2 = 0
num3 = 1
while num3 < 101:
    num3 += 1
    if num3 % 3 == 0 and num3 % 10 == 5:
        count2 += 1
        print(num3,end=' ')
    else:
        continue
print(count2)

循环结束的场景

1.明确循环次数——————for in 循环(遍历容器,容器中与几个数据就循环几次)
2.明确结束状态的——————while循环(while循环也适用明确循环次数,只不过较为麻烦,所以不建议使用)
    while循环条件:
        满足条件就执行

案例

# 案例:有1023个桃子,猴子每天吃一半多一个,问多少天能吃完
num4=1023 # 桃子个数
count4=0 # 计数器,用来记录天数
while num4>0:
    num4-=(num4/2+1)
    count4 +=1
print('1023个桃子猴子',count4,'天吃完')
# 案例:录入一个整数,如果这个数值是偶数,将数据整除2后减1;如果是奇数,将这个数字-3再整除2,多少次之后才能将数据为0
num5 = int(input('输入一个整数:'))
count5 = 0
while num5 >= 0:
    if num5 % 2 == 0:
        num5 = num5 // 2 - 1
    else:
        num5 = (num5 - 3) // 2
    count5 += 1
print(count5)
# 一张纸的厚度为0.8mm,假设纸足够长,问对折多少次可以将纸的高度达到千米
count6 = 0
weight = 0.8
while weight <= 1000000:
    weight = weight * 2
    count6 += 1
print(count6,weight)

小游戏

"""
数字炸弹:
        规则: 有一个出题人 随便在1-100之间设定一个数据,然后其他人猜
            猜小了、猜大了  出题人提示新的范围 
            猜中了 就一顿暴揍
        你: 85    出题人 1-85
        他: 70    出题人 1-70
        她: 55     出题人 55-70
        我:  69    挨揍了  
"""
准备工作
# 程序中生成随机数
# Python提供了一个工具包  random  就是来提供随机操作
import random
print(random.randint(1, 101))  # 在给定的a,b之间随机选择一个整数
"""
完成这个游戏 是需要循环的
循环次数是不明确的,使用while循环
循环结束状态: 猜中了
数据准备
1. 准备一个1-100中的随机数
2. 猜数的范围的起始值和结束值
"""

具体代码

import random
random_num = random.randint(1, 100)  # 唯一一个包含结束位置的
# 猜数的范围
start = 1
stop = 100
# 开始猜
while True:
    # 猜的动作是重复的  所以放在循环中
    # 字符串数据可以使用+将数据拼接在一起 【只能是字符串与字符串拼接】
    # 把数据转化成字符串的操作 str(数据)  int() float()
    guess = int(input('请输入' + str(start) + '-' + str(stop) + '之间的数据,进行竞猜:'))
    # 将输入的数据与随机的数据进行对比
    if guess > random_num:
        # pass
        print('猜大了')
        stop = guess
    elif guess < random_num:
        print('猜小了')
        start = guess
    else:
        print('猜中了  暴揍中.....')
        break
print('游戏结束')
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值