文章目录

  • 1. 多分支
  • 2. 循环
    • 2.1 for循环
      • 2.1.1 语法:
      • 2.1.2 range函数
      • 2.1.3 求和
      • 2.1.3 统计个数
    • 2.2 while循环
    • 2.3 for和while的选择
  • 基础题
  • 进阶题

1. 多分支

  1. 直接使用多个单分支结构
if 条件1:代码段1
if 条件2:代码段2
if 条件3:代码段3
  1. 使用elif对应的多分支结构
    语法:
if 条件1:代码段1
elif 条件2:代码段2
elif 条件3:代码段3
else:代码段N

举例:

score=int(input('输入成绩:'))
if score>=90:print('A')
elif 80<=score<90:print('B')
elif 60<=score<80:print('C')
else:print('D')

如果num是偶数就打印偶数,是奇数打印奇数,如果num能被4整除,打印’4的倍数’

num=6
if num%2==0:print('偶数')if num % 4==0:print('4的倍数')
else :

2. 循环

循环是指批量执行某些重复事情。

2.1 for循环

2.1.1 语法:

  1. for:关键字(固定写法)
  2. 变量:变量名
  3. in : 关键字(固定写法)
  4. 序列:必须是容器型数据类型的数据,例如:字符串、列表、字典、range。变量去序列取值。取一次值执行一次循环体。
  5. 循环体:结构上:循环体和for保持一个缩进的一条或多条语句。
    逻辑上:需要重复执行的代码。
for 变量 in 序列:循环体

2.1.2 range函数

  1. range(N)
for i in range(5):print(x)
# 0,1,2,3,4
  1. range(M,N)
for i in range(1,5):print(i)
#1,2,3,4
  1. range(M,N,step)
for i in range(9,0,-2):print(i)
# 9,7,5,3,1

2.1.3 求和

求和:1.准备数据。
2.定义变量保存最后的和,sum保存和的变量值为0。(固定)
3.通过循环一次获取求和对象,得到一个求和对象往保存和的变量里加一个。
计算:1+2+3+…+100。(累计有规律求和)

sum=0
for i in range(1,101):sum+=i
print(sum)
# 5050
scores=[28,34,78,90]
sum=0
for i in scores:sum+=i
print(sum)
# 230

练习:求下列数字的和。

list1=[10,1.23,'abc',True,20,'mn',None]
sum=0
for i in list1:if type(i)==int or type(i)==float :sum+=i
print(sum)

2.1.3 统计个数

先定义一个变量默认值count,一般为0。

案例:统计100以内偶数的个数。

count=0
for i in range(0,100,2):count+=1
print(count)

统计nums中偶数的个数

nums=[21,23,44,89,70,66,55]
count=0
for i in nums:if i % 2==0:count+=1
print(count)

练习:统计scores不及格学生的人数。

scores = [99, 80, 67, 55, 40, 81, 72, 51]
count=0
for i in scores:if i<60:count+=1
print(count)
# 5

练习:统计nums中个位数大于5的数的个数

nums = [21, 23, 44, 89, 70, 66, 55]
count=0
for i in nums:if i % 10 >5:count+=1
print(count)
# 2

2.2 while循环

不断判断条件语句是否为True,如果是就执行循环体,如果不是循环直接结束。先定义变量一般为初始值。
语法:

while 条件语句:循环体

打印0-100

num=0
while 0<=num<=100:print(num)num += 1

2.3 for和while的选择

如果循环次数确定使用for循环,如果循环次数不确定使用while循环。

while True:需要重执行代码if 循环结束条件:break

案例:

pw = '156234'
value = None
while value != pw:value = input('请输入密码(6位):')

基础题

  1. 根据输入的成绩的范围打印及格 或者不及格

    score=int(input('输入成绩:'))
    if 100>=score>=60:print('及格')
    else:print('不及格')
    
  2. 根据输入的年纪范围打印成年或者未成年,如果年龄不在正常范围内(0~150)打印这不是人!

    age=int(input('输入年龄:'))
    if 150>age>=18:print('成年')
    elif 0<=age<18:print('未成年')
    else:print('这不是人')
    
  3. 输入两个整数a和b,若a-b的结果为奇数,则输出该结果,否则输出提示信息a-b的结果不是奇数

    a = int(input('输入整数a:'))
    b = int(input('输入整数b:'))
    if (a - b) % 2 == 1:print('a-b=', a - b)
    else:print('a-b的结果不是奇数')
    
  4. 使用for循环输出 0~100内所有3的倍数。

    for i in range(1,101):if i % 3==0:print(i)
    
  5. 使用for循环输出100~200内个位数或者十位数能被3整除的数。

    for x in range(100, 201):if (x % 10 != 0 and x % 10 % 3 == 0) or (x // 10 % 10 != 0 and x // 10 % 10 % 3 == 0):print(x)
    
  6. 使用for循环统计100~200中十位数是5的数的个数

    count=0
    for i in range(100, 201):if i // 10  % 10 == 5:count+=1
    print(count)
    
  7. 使用for循环打印50~150中所有能被3整除但是不能被5整除的数

    for i in range(50, 151):if i % 3 == 0 and i % 5 !=0:print(i)
    
  8. 使用for循环计算50~150中所有能被3整除但是不能被5整除的数的和

    sum=0
    for i in range(50, 151):if i % 3 == 0 and i % 5 !=0:sum+=i
    print(sum)
    
  9. 统计100以内个位数是2并且能够被3整除的数的个数。

    count=0
    for i in range(101):if i % 10 == 2 and i % 3==0:count+=1
    print(count)
    

进阶题

  1. 输入任意一个正整数,求他是几位数?

    num = int(input('请输入一个正整数'))
    x = 10
    count = 1
    while num // x:x *= 10count += 1
    print('这个数是', count, '位数')
    

    注意: 这儿不能使用字符串,只能用循环

  2. 打印出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数字⽴方和等于该数本身。例如:153是

    ⼀个⽔仙花数,因为 1³ + 5³ + 3³ 等于 153。

    for i in range(100, 1000):if (i // 100) ** 3 + (i // 10 % 10) ** 3 +(i % 10)**3==i:print(i)
    
  3. 判断指定的数是否是素数(素数就是质数,即除了1和它本身以外不能被其他的数整除的数)

    num = int(input('请输入一个整数'))
    if num == 1 or num == 2:print(num, '是素数')
    count = 0
    for x in range(2, num // 2 + 1):if num % x == 0:count += 1
    if count == 0:print(num, '是素数')
    else:print(num, '不是素数')
    
  4. 输出9*9口诀。 程序分析:分行与列考虑,共9行9列,i控制行,j控制列。

    for i in range(1, 10):print(end='\n')for j in range(1, i+1):print(i, '*', j, '=', i*j, end='  ')
    
  5. 这是经典的"百马百担"问题,有一百匹马,驮一百担货,大马驮3担,中马驮2担,两只小马驮1担,问有大,中,小马各几匹?(可以直接使用穷举法)

    for big in range(1, 34):for mid in range(1, 50):if big*3 + mid*2 + (100-big-mid)*0.5 == 100:print('大马:', big, '中马:', mid, '小马:', 100-big-mid)
    

Python多分支、循环相关推荐

  1. python变量/分支/循环/数组/列表/元组/序列

    最近比较流行python,于是我这种从不赶潮流的人也决定跟一把潮流.工作原因学习时间有限,好容易挤着时间看了一部分网上的视频,却被劝说没什么用处,我们就是靠java吃饭的.当然多学一种语言也不会有什么 ...

  2. 00x1 python分支循环

    三大结构 顺序 分支 循环 分支 分支的基本语法 if 条件表达式: 语句1 语句2 语句3 ...... 条件表达式就是计算结果必须为布尔值的表达式 表达式后面的冒号不能少 注意if后面的出现的语句 ...

  3. Python 语言程序设计(4-1)分支循环语句

    二分支结构 多分支循环 条件组合 x and y x和y 都成立 x or b not x 关于python 的异常处理 BMI 实例多分支实战 height,weight=eval(input(&q ...

  4. python的分支和循环

    如何正确的打飞机 加载背景音乐 播放背景音乐(设置单曲循环) 我方飞机诞生 interval = 0while True:if 用户是否点击了关闭按钮:推出程序interval += 1;if int ...

  5. python中用于循环结构的关键字_详解Python的循环结构知识点

    循环结构的应用场景 如果在程序中我们需要重复的执行某条或某些指令,例如用程序控制机器人踢足球,如果机器人持球而且还没有进入射门范围,那么我们就要一直发出让机器人向球门方向奔跑的指令.当然你可能已经注意 ...

  6. python如何实现循环_如何构造python循环

    python中的循环语句可以分为for循环和while循环. for循环可以遍历任何序列的项目,如一个列表或者一个字符串. for循环的一般格式如下:for in : else: 实例>> ...

  7. python程序的循环结构_四、python程序结构之循环结构

    循环结构的应用场景 如果在程序中我们需要重复的执行某条或某些指令,例如用程序控制机器人踢足球,如果机器人持球而且还没有进入射门范围,那么我们就要一直发出让机器人向球门方向奔跑的指令.当然你可能已经注意 ...

  8. Python 选择与循环

    本文章总结了董付国老师的Pthon程序设计(第2版)书的内容,仅供个人学习使用,如有侵权,立刻删除 by:mfdy 文章链接:mfdy's blog: Python选择与循环 CSDN目录:https ...

  9. python的分支结构使用if保留字_python程序的三种控制结构

    什么是控制结构?分支结构.循环结构如何使用?while死循环与效率问题,辅助循环控制的保留字:break和continue使用"""程序有三种基本结构组成:顺序结构.分支 ...

  10. Python学习篇(五) Python中的循环

    文章目录 前言 一.range函数 二.while循环 2.1四步循环法 三.for in 循环 四.流程控制语句 4.1 break 4.2 continue 五.else语句 六.嵌套循环 七.二 ...

最新文章

  1. 查看文件的MD5/SHA1效验值
  2. C语言-线性表基本操作之单链表
  3. 求平方根sqrt()函数的底层算法效率问题
  4. github开源项目免费使用Azure PipeLine
  5. DB2中select top 用法
  6. VC++任意格式时间字符串转换为CTime类型以及计算时差
  7. C#中获取路径的几种方法
  8. Leetcode18.四数之和
  9. C/C++ Bug记录
  10. 业务层应该返回DataSet/DataTable,还是对象/对象集合?
  11. wifi抓包/苹果电脑mac book抓wifi sniffer packet
  12. html 数组动态添加元素,js如何动态添加数组?
  13. python-求两个数的最小公倍数
  14. 仿西祠和搜狐论坛界面的bbs下载
  15. 安卓车机root改流浪地球_你想知道的《流浪地球》的问题,都在这里了
  16. 揽月摘星 | 第 13 届金鼠标数字营销大赛得奖名单出炉,知家斩获 5 项大奖
  17. 编程求一个9位的整数,数字由1-9构成,每个数字只能出现一次。并且这个整数的前一位能被1整除,前两位能被2整除, ......以此类推,前九位能被9整除。
  18. 在Unity中制作完整的技能系统(代码篇)
  19. 中国天气网api(json格式)
  20. 网络安全——数据链路层安全协议

热门文章

  1. Kubernetes基础:资源扩缩容方法(Replica Set)
  2. 超级女特工、 Alphabet董事长、加密教父,RSA 2017 有哪些大咖将做主旨演讲?(上)| RSA 2017...
  3. 【Java之多线程(二)】(***重要***)Java多线程中常见方法的区别,如object.wait()和Thread.sleep()的区别等
  4. Morecoin一周盘点:灰度持仓BTC已达48.1万枚,BTC仅占投资组合的1%远远不够
  5. 【Unity】Unity中开场动画设置
  6. PR片头模板 超震撼大气蓝色(颜色可自定义)粒子特效开场片头PR模板
  7. numpy中randn()和rand()的区别
  8. MySql中 delimiter 使用
  9. 机器人技术第三次作业:用面向对象的思维设计相关类,从而实现直线与直线、直线与圆、直线与矩形的交点。
  10. lazada按关键字搜索商品 API调用示例 批量抓取商品ID