IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> day4分支与循环总结和作业 -> 正文阅读

[Python知识库]day4分支与循环总结和作业

今日份总结

一、流程控制

  1. 顺序结构:代码从上往下依次执行,每天语句只执行一次。(默认)

    print('hello')
    print('word')
    
  2. 分支结构:根据条件选择执行或者不执行部分代码(使用if)

    age = 10
    if age >= 18:
        print('成年')
    else:
        print('未成年')
    
  3. 循环结构:让代码重复执行(for、while)

for i in range(5):
    print(i)

二、if分支结构

1、if单分支结构 - 如果… 就…

解决的问题:满足条件执行某个操作,添加不满足的时候就不执行

语法:

if 条件语句:

? 代码段(满足条件才会执行的代码)

if - 关键字;固定写法

条件语句 - 可以任何有结果的表达式,包括:具体的数据、运算表达式(赋值运算例外)、已经赋值过的

变量、函数调用表达式等
  • 固定写法

代码段 - 从结构上就是和if保持一个缩进的一条或者多条语句(至少一条);逻辑上,代码段就是条件成立

的时候才会执行的代码

age = 20
if age >= 18:
    print('成年')

2、if双分支结构 - 如果…就…否则…

语法:

if 条件语句:

? 代码段1(满足条件需要执行的代码)

else:

? 代码段2(条件不满足的时候需要执行的代码)

代码段3(不管条件成不成立都执行)

#如果指定的年是闰年就打印'闰年'
year = 2001
if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
    print('闰年')
else:
    print('非闰年')

3、if多分支结构 - 如果…就…如果…就…如果…就…否则…

语法:

if 条件1:

? 代码段1

elif 条件2:

? 代码段2

elif 条件3:

? 代码段3

else:

? 代码段N

注意:elif可以是任意多个,else可以有也可以没有

score = 83
if  score >= 90:
    print('优秀')
elif score >= 80:
    print('良好')
elif score >= 70:
    print('中等')
elif score >= 60:
    print('及格')
else:
    print('不及格')

三、for循环

1、for循环

1)语法:

for 变量 in 序列:

? 循环体(需要重复执行的代码)

2)说明:

for - 关键字;固定写法

变量 - 有效变量名(可以是已经定义的,也可以是没有定义的)

in - 关键字;固定写法

序列 - 容器类数据类型的数据,容器型数据类型包括:字符串、列表、字典、集合、元组、迭代器、生成器、range等
  • 固定写法

循环体 - 和for保持一个缩进的一条或者多条语句,循环体就是需要重复执行的代码

3)执行过程

让变量去序列中取值,一个一个的取,取完为止;取一个值就执行一次循环体

for循环的循环次数和序列中的元素的个数有关

2、range函数 - 创建等差数列(整数)

1)range(N) - 产生[0,N)的等差数列,差是1

2)range(M,N) - 产生[M,N)的等差数列,差是1

3)range(M,N,step) - 产生[0,N)的等差数列,差是step

3、应用场景

1)累计求和

第一步:定义变量保存结果,变量的初始值一般是零(求和)或者1(求乘积)

第二步:用循环一个一个的获取累计数据

第三步:在循环体将取到的每一个数据合并到结果对应的变量中

#求1+2+3+...+100的和
result = 0
for i in range(1,101):
    result += i
print(result)

2)统计个数

第一步:定义变量保存最后的个数,变量默认内置是0

第二步:使用循环获取统计对象

第三步:遇到一个满足统计条件的数据个数就加1

#统计1-1000中奇数的个数
count = 0
for i in range(1000):
    if i % 2 == 1:
        count += 1
print(count)

作业

基础题

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

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

    age = int(input('请输入年龄:'))
    if age <= 18:
        print('未成年')
    elif age <= 150:
        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)
    else:
        print('a-b的结果不是奇数')
    
  4. 使用for循环输出 0~100内所有3的倍数。

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

    for i in range(100,201):
        if (i % 10 % 3) == 0 or (i // 10 % 10 % 3) == 0:
            print(i)
    
  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(3,100,3):
        if i % 10 == 2:
            count += 1
    print(count)
    

进阶题

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

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

    count = 0
    num = input('请输入一个整数:')
    for i in num:
        if i != '':
            count += 1
    print(count)
    
  2. 打印出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数字?方和等于该数本身。例如:153是

    ?个?仙花数,因为 13 + 53 + 33 等于 153。

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

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

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

big_horse = 0
medium_horse = 0
small_horse = 0
for big_horse in range(34):
    for medium_horse in range(51):
        for small_horse in range(200):
            if big_horse * 3 + medium_horse * 2 + small_horse * 0.5 == 100 and big_horse + medium_horse + small_horse == 100 :
              print(big_horse,medium_horse,small_horse)
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-02-19 01:06:38  更:2022-02-19 01:07:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 0:01:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码