Python小案例:while练习题

while练习题:

1、存款多少年能翻倍

       1万本金,年利息:0.0325,求连本带息多少年能翻倍

解析:

  1. while循环:求每年的本金和利息一共多少;
  2. 退出循环条件:本金*(1+利息) <= 2 *本金。

代码部分

# 本金
principal = 10000
# 利息
interest = 0.0325
# 翻倍总金额
total = 20000
# 统计所需年数
count = 0

while principal <= total:
    count+=1
    principal *= (1+interest)
   # print(f"第{count}年,连本带息总金额:{principal}")

print(f"需要{
     count}年才能连本带息翻倍")

运行结果
在这里插入图片描述

2.小球坠落长度计算

       一个小球,从100米高空坠落,每次反弹回原来一半高度,问第10次反弹完,小球经过多少米?

分析:

  • 小球所经历距离 = 小球高度+反弹高度
  • 小球反弹高度 = 小球高度/2

代码部分

# 初始高度
height = 100
# 小球掉落所经历的距离
distance = 0
# 掉落次数
count = 0

while count < 10 :
    # 球所经历过的长度
    distance +=height
    # 球反弹高度
    height /= 2
    # 反弹回所经历的长度
    distance += height
    # 统计次数
    count += 1
    # 打印每次掉落所经历的距离和高度
    print(f'第{
     count}次,小球所经历的距离:{
     distance},小球反弹高度{
     height}')

运行结果
在这里插入图片描述

3、猴子吃桃

       有一堆桃子,猴子每天吃桃子总数的一半并多吃一个。吃了10天,到第11天只剩一个桃子。问:猴子吃之前,一共是多少个桃子?

分析:

  • while控制天数
  • 逆推总数找规律
    • 第11天 1
    • 第10天 (1+1)*2 = 4
    • 第9天 (4+1)*2 = 10
    • 第1天 (sum+1)*2 = sum

代码部分

#花费的总天数
days = 11
# 统计总共桃子数量,以最后一天剩余的数作为统计总数的初始值
sum = 1

while days >= 1 :
    print(f"第{
     days}天,桃子数量:{
     sum}")
    # 上一天吃的之前的桃子数量
    sum=(sum+1)*2
    days -= 1

运行结果
在这里插入图片描述

4、计算:1-2+3-4…+99-100的和

解析:
       加的是单数,减去的是偶数,利用%进行判断并计算

代码部分

# 第一种for循环
# sum = 0
# for i in range(1,101):
#     if i%2==1 :
#         sum+=i
#         print(f"单数减法:{sum}+{i}={sum}")
#     else:
#         sum-=i
#         print(f"双数加法:{sum}-{i}={sum}")

# 第二种while循环
sum = 0
count = 1
while count <= 100 :
    if count%2==1:
        sum+=count
        # print(f"单数加法:{sum}+{count}={sum}")
    else:
        sum-=count
        # print(f"双数减法:{sum}-{count}={sum}")
    count+=1

运行结果
在这里插入图片描述

相关推荐

  1. pythonwhile循环

    2023-12-07 19:34:03       36 阅读
  2. Python爬虫练习

    2023-12-07 19:34:03       35 阅读
  3. Python: for,while循环语句

    2023-12-07 19:34:03       51 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-07 19:34:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-07 19:34:03       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-07 19:34:03       82 阅读
  4. Python语言-面向对象

    2023-12-07 19:34:03       91 阅读

热门阅读

  1. 什么问题适合使用卡方检验?

    2023-12-07 19:34:03       44 阅读
  2. qt 链表QList,QLinkedList的常见使用

    2023-12-07 19:34:03       59 阅读
  3. 英伟达显卡系列与架构、代表产品

    2023-12-07 19:34:03       60 阅读
  4. Ubuntu 配置打开文件限制

    2023-12-07 19:34:03       64 阅读
  5. Python批量图像处理--图片重命名、图片旋转

    2023-12-07 19:34:03       64 阅读
  6. CG 函数

    2023-12-07 19:34:03       56 阅读
  7. 解决分布式React前端在本地开发环境的跨域问题

    2023-12-07 19:34:03       60 阅读
  8. 关于业界大语言模型(LLM)开源的一些看法

    2023-12-07 19:34:03       51 阅读
  9. 供应链产品经理常用的ChatGPT通用提示词模板

    2023-12-07 19:34:03       56 阅读
  10. MyBatis

    MyBatis

    2023-12-07 19:34:03      58 阅读
  11. 冒泡排序详解

    2023-12-07 19:34:03       63 阅读
  12. 【ASP.NET CORE】EntityFrameworkCore 数据迁移

    2023-12-07 19:34:03       57 阅读
  13. 如何在Go中构建For循环

    2023-12-07 19:34:03       57 阅读