3.4总结加作业md (2)

分支结构与循环

1、if 多分支 - 根据不同条件做不同的事

语法:
if 条件语句1:
代码段1
elif 条件语句2:
代码段2
elif 条件语句3:
代码段3

else:
代码段N
要求:
条件之间存在,其中某一个条件成立了,另外的其他条件一定不成立

练习:根据分数对成绩进行评级:A(90~100) B(80~89) C(60~79) D(60以下),分数是百分制

# 方法一:
if 90 <= score <=100 :
    print('A')
elif 80 <= score <=89 :
    print('B')
elif 60 <= score <= 79:
    print('C')
else:
    print('D')
# 方法二
if  score >= 90:
    print('A')
elif score >= 80:
    print('B')
elif score >= 60:
    print('C')
else:
    print(D)
score=492
grade='A'
# 进校标准:分数500进普通班级,等级A进特长班 (不满足条件一成立 条件二不成立)
if score > 500:
    print('进普同班级')
if grade =='A':
# 练习:定义好两个变量保存一个人的身高和体重,编程实现判断这个人的身材是否正常.
# 公式:体重(kg)/(身高的(m)的平方值)是否在18.5~24.9之间,偏瘦或者偏胖。
height=1.74
weight=80
s=height/weight**2
if 18.5 <= s <= 24.9:
    print('正常')
elif 18.5 > s:
    print('偏瘦')
else:
    print('偏胖')
# if 嵌套
# 练习:判断一个数是否是偶数,如果是打印偶数,如果不是打印奇数,同时判断这个数是否是4的倍数,如果是打印4的倍数。
num=20
if num % 2 == 0:
    print('偶数')
    if num % 4 ==0:
        print('4的倍数')
elif num % 2 != 0:
    print('奇数')

循环结构:代码只写一遍,单可以重复执行很多次。
for _ in range(10):
print(‘11’)
print(‘22**’)

1、 for循环
‘’’
语法:
for 变量 in 序列:
循环体

说明:
!1)for in - 关键字;固定写法
2)变量 - 变量名
3)序列 - 容器型数据类型的数据,;例如:字符串、列表、字典、元组、集合、迭代器、生成器、range等
4)循环体 - 和for保持一个缩进的一条或多条语句;循环体就是需要重复执行的代码

执行过程:
让变量去序列中取值,一个一个的取,取完为止,每取一个值就执行一次循环体。(序列中的元素个数决定了循环次数)

for x in 'abc你好':
    print('===',x)

2、range函数 - 产生一个指定范围的数字序列

range(N) - 产生[0,N)的数字序列 N必须大于0,每次数字增加1

for x in range(5):
    print('x:',x) # 第一个x字符串,第二个x变量
# 写程序打印'hello' 100遍
for x in range(2):
    print('hello')
for x in range(5):
    print(x)

range(M,N)产生[M,N)的数字序列 N>M,每次数字增加1

for x in range(10,20):
    print('x2:',x)
print('---===')
for x in range(9,8):
    print('---')

range(M,N,step=) — 产生[M,N)的序列,每次数字增加step

print('====')
for x in range(1,10,2):
    print('x3:',x)

print('----')
for x in range(100,80,-1):
    print('x4:',x)
# 练习:统计100以内能被3整除的个数

# 方法一:
count=0
for x in range(0,100,3):
    count+=1   # count=count+1
print(count)

print('----')
# 方法二:
count=0
for x in range(100):
    if x % 3 == 0:
        count += 1
print(count)
# 练习二:计算1到100所有能被3整除不能被5整除的数的和。

for x in range(1,101):
    if x % 3==0 and x % 5 !=0:
        print(x)
# 方法二:
sum=0 # 保存最后的和
for x in range(3,101,3):
    if x % 5 != 0:
        sum+=x
print('和:',sum)

1、while循环

语法:
while 条件语句:
循环体

说明:
1)while - 关键字,固定语句
2)条件语句 - 任何有结果的表达式
3)循环体 - 和while保持一个缩进的一条或多条语句;循环体就是需要重复的代码

执行过程:
先判断条件语句是否为True,为True就执行循环体,执行完在判断条件语句是否为True,为True就执行循环体。。
以此类推,直到判断条件语句的结果为False,整个循环结束。

num=1
while num <101:
    print(num)
    num+=1
num=0
while num < 10:
    print('hello')
    num+=1

2、for循环和while循环的选择

当循环次数不确定的时候使用while,否则使用for循环

pw='abc123'
i_pw=input('请输入密码:')
while i_pw != pw:
  i_pw =input('请输入密码:')

猜数字游戏程序开始的时候随机产生一个100以内的数,用户通过输入方式来猜数字,如果对了游戏结束,如果错了给出提示信息:大了,小了。

from random import randint
num=randint(0,99)  #产生0~99的随机整数并且保存到变来那个num中

i_num =int(input('请输入数字(0~99):'))
while i_num != num:
    if i_num > num:
        print('大了')
    else:
        print('小了')
    i_num = int(input('请输入数字(0~99):'))
print('恭喜你‘)

1、continue和break

continue和break只能在循环体使用
continue:结束一次循环(当执行循环体的时候遇到continue,当次循环结束,直接进入下一次循环。

for x in range(5):
    print('===')
    continue
    print('----')
    print('++++')
for x in  range(5):
    if x % 2 :
        continue
        print(x)
for x  in range(5):
    print('xxx')
    break
    print('44444')

2、else

Python中的完整的for循环和while循环都有else结构;else结构存在不影响循环体的执行。
for 变量 in 序列:
循环体
else:
代码段

while 条件语句:
循环体
else:
代码段

当循环因为遇到break而结束的,那么循环后面的else里面的代码段不会执行,循环结束的时候不是因为遇到break,
那么else后面的代码段会执行

基础题

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

grade=89
if grade >= 60 :
    print('及格')
else:
    print('不及格')

2.根据输入的年纪范围打印成年或者未成年,如果年龄不在正常范围内(0~150)打印这不是人!

age=1
if 150 >= age >= 18:
    print('成年')
elif 0<= age <18:
    print('未成年')
else:
    print('这不是人')

3.输入两个整数a和b,若a-b的结果为奇数,则输出该结果,否则输出提示信息a-b的结果不是奇数

a=2
b=3
x=a-b
if x % 2 !=0:
    print(x)
else:
    print('x的结果不是奇数')

4.使用for和while循环输出 0~100内所有3的倍数。

for x in range(0,100,3):
    print(x)
num = 0
while num < 100 :
    print(num)
    num += 3

5.使用for和while循环输出100~200内个位数或者十位数能被3整除的数。

for x in range(100,200):
    if (x % 10 % 3 == 0) or (x % 100 // 10 % 3 == 0):
        print(x)
num=99
while True :
    num+=1
    if (num % 10 % 3 == 0) or (num % 100 // 10 % 3 == 0):
        print(num)
    if num >198:
        break

进阶题

1.使用循环计算1*2*3*4*...*10的结果。

num=1
s=1
while num <10:
    s*=num
    num+=1
print(s)

2.统计100以内个位数是2并且能够被3整除的数的个数。

count=0
for x in range(0,100):
    if x % 6 == 0 and x != 0:
       count+=1
print(count)

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

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

count=1
x=int(input('请输入一个正整数:'))
while True:
    if x // 10 ** count>=1:
        count+=1
    else:
        break
print('该数为',count,'位数')

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

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

for x in range(100,1000):
    if ((x // 100)**3 + (x // 10 % 10) ** 3 + (x % 10)** 3)== x:
        print(x) # 153 370 371 407

挑战题

1、判断指定的数是否是素数(素数就是质数,即除了1和它本身以外不能被其他的数整除的数)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: I²C(Inter-Integrated Circuit)总线是一种串行通信协议,用于在电子设备间进行数据传输。它由飞利浦公司开发,旨在提供高效、简单和可靠的通信解决方案。该协议使用两根线路,分别是SDA(串行数据线)和SCL(串行时钟线),用于传输数据和时钟信号。 3.4 mI2C协议文档是针对I²C协议的具体规范和说明文件,用于帮助开发人员正确使用和实施I²C通信。这个文档详细描述了mI2C协议的工作方式、协议格式和信号定义等关键参数。 在mI2C协议文档中,开发人员可以找到如下内容: 1. 协议概述:介绍mI2C协议的目标、特点以及适用范围。 2. 信号定义:详细说明了SDA和SCL线的电气特性,如电平范围和时钟频率等。 3. 传输格式:解释了mI2C协议传输数据的规则和格式,包括开始信号、地址传输、数据传输和终止信号等。 4. 主从模式:描述了mI2C协议中主设备和从设备的角色以及各自的功能和通信流程。 5. 错误处理:讲解了mI2C协议处理错误和异常情况的方法,如重发机制和超时处理等。 6. 示例代码:提供了一些实用的示例代码,以帮助开发人员了解如何使用mI2C协议进行通信。 总之,3.4m I2C协议文档是一份重要的技术文献,对于理解和应用I²C协议在电子设备间进行数据传输是非常有帮助的。开发人员可以通过阅读该文档,了解I²C协议的工作原理和通信方式,同时在实际应用中遵循规范,确保数据的正确传输和设备的正常交互。 ### 回答2: I2C(Inter-Integrated Circuit)是一种串行通信协议,用于在微控制器和外围设备之间进行通信。3.4m I2C协议文档可能是指有关3.4米的I2C协议的相关文档。 I2C协议由两根线组成:串行数据线(SDA)和串行时钟线(SCL)。这种协议使用主从结构,其中一个设备充当主设备,而其他设备充当从设备。主设备控制通信的起始和停止条件,以及时钟信号的生成。从设备接收和发送数据,根据主设备的命令进行响应。 I2C协议有多种速度模式,其中最常见的是标准模式(100 kHz)和快速模式(400 kHz)。其他更高速的模式还包括高速模式(3.4 MHz)和超高速模式(5 MHz)。 文档可能包括有关I2C协议的详细说明,包括通信的起始和停止条件、数据传输的格式、时钟信号的生成、地址分配等内容。文档还可能包括相关设备的配置和命令示例,以及错误处理和故障排除的指导。 对于3.4m I2C协议文档,它可能是指一种3.4米的I2C协议扩展或变种。这种3.4米的I2C协议可能是为了满足特殊应用需求而开发的,例如在通信距离上远远超过了标准I2C协议的限制。 无论是标准的I2C协议文档还是3.4m I2C协议文档,对于工程师和开发者来说,详细的协议文档是非常重要的,它提供了关于协议的理解和实施的指导,确保设备之间的正常通信和正确的数据传输。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值