220922Python学习:三目运算符、循环
一、三目运算符
1.分支结构的缩写
if 条件语句:代码段 (只有一条语句的时候)
总结:冒号换行一个缩进后面的代码如果只有一条语句,那么唯一的这条语句可以直接放在冒号的后边。
-
单分支结构缩写
if age >= 18: print('成年!') -
双分支结构缩写
if age >= 18:print('成年') else:print('未成年') -
多分支结构上缩写
age = 19 # 成年 if age <= 3:print('幼儿') elif age <= 12:print('儿童') elif age <= 18:print('青少年') else:print('成年')
2.三目运算符
Python三目运算符:值1 if 条件语句 else 值2
注意:判断条件语句是否为真,如果是真,整个运算表达式的结果为值1,否则是值2。
age = 9
result = '未成年' if age <= 18 else '成年'
print(result) # 未成年
二、for循环
1.循环结构
-
作用:让代码重复执行(代码只写一遍,重复执行多次)
-
工作:for、while
2.for循环
-
语法:
for 变量 in 序列:
循环体
-
说明:
-
for、in:关键字(固定写法)
-
变量:合法变量名(没有定义过和已经定义过的变量名都可以)
-
序列:容器型数据类型对应的数据,例如:字符串、列表、字典、元组、集合、迭代器、生成器、range等。
-
: ——固定写法(英文冒号)
-
循环体:结构上,和for保持一个缩进的一条或者多条语句(至少一条)
逻辑上,需要重复执行的代码
-
-
执行过程:让变量去序列中取值,一个一个的取,取完为止,每取一个值就执行一次循环体。(for循环的循环次数由序列中元素的个数决定)
for x in 'abcpd': # 序列为字符串 print(x, 'hhh') # a hhh # b hhh # c hhh ... # d hhh
3.range函数 —创建一个等差数列
-
range(N) - 产生[0, N)的等差数列,差是1;
range(5) ——> 0,1,2,3,4
-
range(M, N) - 产出[M, N)的等差数列,差是1;
range(5, 15) ——> 5,6,7,8,9,10,11,12,13,14
range(-3, 3) ——> -3,-2,-1,0,1,2 -
range(M, N, step) - 产生[M, N)的等差数列,差是step;
range(3, 13, 3) ——> 3,6,9,12
range(50, 10, -10) ——> 50,40,30,20
for x in range(5):
print(x) # 0 1 2 3 4
for x in range(5, 15):
print(x) # 5 6 7 8...13 14
for x in range(50, 10, -10):
print(x) # 50 40 30 20
⭐ 练习(求和和统计个数)
-
累计求和(套路):
第一步:在循环外定义一个变量来保存最后的和(变量默认值是0)
第二步:通过循环依次获取所有需要求和的对象
第三步:在循环体中获取到一个求和对象,就往保存和的变量中加一个数据(+=)
最后:循环结束的时候保存和的变量中的数据就是最后的和# 案例:求100到200中所有偶数的和(包含100和200) # 方法1: sum = 0 for x in range(100, 201): if x % 2 == 0: sum += x print(sum) # 方法2: sum = 0 for x in range(100, 201, 2): sum += x print(sum) # 练习:求100以内能被3整除但是不能被5整除的数的和 # 方法1: sum = 0 for x in range(100): if x % 3 == 0 and x % 5 != 0: sum += x print(sum) # 方法2: # 0,3,6,9,12,15...99 sum1 = 0 for x in range(0, 100, 3): if x % 5 != 0: sum1 += x print(sum1) -
统计个数:
# 案例1:统计scores中不及格的人数 scores = [89, 56, 78, 99, 70, 48, 39, 79] count = 0 for x in scores: if x < 60: count += 1 print(count) # 练习:统计100-200中能被7整除的偶数的个数 # 方法1: count = 0 for x in range(100, 200, 2): if x % 7 == 0: count += 1 print(count) # 方法2: count = 0 for x in range(105, 200, 7): if x % 2 == 0: count += 1 print(count)
三、while循环
1.while循环
-
语法:
while 条件语句:(判断条件语句是否为True,为True执行循环体,直到False结束循环)
循环体
-
执行过程:
不断判断条件语句是否为True,为True就执行循环体,直到条件语句的结果是False,整个循环直接结束!
(先判断条件语句是否为True,为True执行循环体,执行完循环体再判断条件语句是否为True,为True再执行循环体,…
以此类推,直到条件语句为False,整个循环结束)⭐练习和案例:
# 案例:求1+2+3+4+...100的和 sum1 = 0 num1 = 1 while num1 <= 100: sum1 += num1 num1 += 1 print(sum1) # 统计100-200中能被7整除的偶数的个数 count = 0 num2 = 100 while num2 <= 200: if num2 % 7 == 0: count += 1 num2 += 2 print(count)
2.for循环和while循环的选择
-
基本原则:能用for循环解决的问题都使用for循环,for循环解决不了的才使用while循环。
-
for解决不了的问题:循环次数不确定(程序员在写代码的时候无法确定循环次数 - 次数由使用者决定)
案例:
# 案例:提示用户输入密码,直到输入正确为止。 pw = '123456' value = None while value != pw: value = input('请输入密码:')
四、关键字:continue和break
1.continue —— 结束一次循环
执行循环体的时候如果遇到了continue那么这次循环结束,直接进入下一次循环
案例:
for x in range(10):
if x % 2 == 0:
continue
print(x)
# 1 3 5 7 9
2.break —— 结束整个循环
for x in range(10):
if x == 3:
break
print(x)
# 0 1 2
3.当while遇上break
-
while循环使用固定的结构:
while True:
需要重复执行的操作
if 循环结束条件:
break
-
⭐经典案例
# 统随机产生一个0-100的整数,然后提示用户输入数字,直到输入正确为止。当输入错误时,给出相应的提示。 from random import randint value = randint(1, 100) while True: num = int(input('请输入一个整数:')) if num > value: print('大了,再小点儿!') if num < value: print('小了,再大点儿!') else: print('恭喜你,猜对了!') break
五、循环的else结构
1.完整的循环结构
-
完整的for循环:
for 变量 in 序列: 循环体
else: 代码段
-
完整的while循环:
while 条件语句: 循环体
else: 代码段
-
else的作用:
- else的存在不会影响原来循环的执行。
- 如果前面的循环是自然死亡,在循环结束后会执行else的代码段,如果循环是因为遇到break结束,else中的代码段不会执行。
sum = 0 for x in range(6): sum += x if x > 4: print(x) break # break执行,就不会打印超啦! break不执行,就会打印超啦! else: print('超啦!') print(sum)
611



被折叠的 条评论
为什么被折叠?



