while循环和循环关键字小结
01 Python三目运算符
-
语法:
值1 if 表达式1 else 值2 # a如果大于10,result为0;否则result是1 方法一: a = 10 result = 0 if a > 10 else 1 print(result) 方法二: a = 100 if a > 10: result = 0 else: result = 1 print(result)
-
运算规则:如果表达式的结果为True整个运算的结果就是值1,否则就是值0。
02 while 循环
- 1 . while循环 - 当…的时候就…
-
语法:
while 条件语句: 代码段(循环体) 其他代码
-
说明:
- while - 关键字,固定写法。
- 条件语句 - 可以是任何有结果的表达式(赋值语句)。
- : - 固定写法。
- 循环体 - 和while保持一个缩进的一条或多条语句;循环体就是会被重复执行代码。
-
执行过程:
先判断条件语句是否为True,如果是执行循环体;执行完循环体再判断条件语句是否为True,如果是又执行循环体;以此类推,如果条件语句是False循环就结束。
# 使用while循环打印5次'hello world!' a = 0 while a < 5: print('hello world!') a += 1 """ a = 0 第一次:while 0<5 ->while True -> print('hello world!'); a += 1 -> a = 1 第二次:while 1<5 ->while True -> print('hello world!'); a += 1 -> a = 2 第三次:while 2<5 ->while True -> print('hello world!'); a += 1 -> a = 3 第四次:while 3<5 ->while True -> print('hello world!'); a += 1 -> a = 4 第五次:while 4<5 ->while True -> print('hello world!'); a += 1 -> a = 5 第六次:while 5<5 ->while False -> 循环结束 """
-
for 和 while的选择
如果循环次数确定使用for循环;如果循环次数不确定用while。(凡是可以使用for解决的问题都是用for,for解决不了的才用while)
# 例如:输入登录密码,直到正确为止 pw = '123456' value = input('请输入密码') while value != pw: value = input('请输入密码') print('登录成功!')
### 03 循环关键字
-
continue和break - 只能在循环体中使用
-
continue
作用:结束一次循环(执行循环体的时候如果遇到continue当次循环结束,直接进入下次循环)
for x in range(100): if x % 2 == 0: continue print('x',x) """ x -> 0,1,2,3....98,99 x = 0: if x % 2 == 0 -> if 0 % 2 == 0 -> True: continue x = 1: if x % 2 == 0 -> if 1 % 2 == 0 -> False: print('x',x) -> print('x',1) x = 2: if x % 2 == 0 -> if 2 % 2 == 0 -> True: continue x = 3: if x % 2 == 0 -> if 3 % 2 == 0 -> False: print('x',x) -> print('x',3) x = 4...... x = 99: if x % 2 == 0 -> if 99 % 2 == 0 -> False: print('x',x) -> print('x',99) 循环结束 """
-
-
break
-
作用:结束整个循环(执行循环体的时候如果遇到break,整个循环直接结束)
for x in range(3): print('aaa') print('bbb') break print('ccc')
-
遇到break的while
while True:
需要重复执行的操作
if 循环结束的条件
break
# 例如:输入登录密码,直到正确为止 pw = '123456' while True: value = input('请输入密码') if value == pw: break print('登录成功')
-
04 else关键字
-
完整的循环结构
-
完整的for:
for 变量 in 序列:
循环体
else:
代码段
-
完整的while:
while 条件语句
循环体
else:
代码段
-
-
关于else:
-
else的存在不会影响原循环的执行
-
else后面的代码会在循环结束后执行(如果循环是因为遇到break而结束就不会执行)
str = '12334567888' for x in str: if not '0' <= x <= '9': print(str,'不是纯数字字符串') break else: print(str,'是纯数字字符串')
-
第一周作业
一、选择题
-
下列变量名中不合法的是?(C)
A. abc
B. Npc
C. 1name
D ab_cd
-
下列选项中不属于关键字的是?(B)
A. and
B. print
C. True
D. in
-
下面哪个选项对应的代码写法是正确的?(C)
A.
print('Python') print('新手村')
B.
print('Python') print('新手村')
C.
print('Python') print('新手村')
D.
print('Python''新手村')
-
下面选项中能打印出50的是?B
A.
print('100 - 50')
B.
print(100 - 50)
-
关于引号,下面选项中使用正确的是?D
A.
print('hello)
B.
print("hello')
C.
print(“hello”)
D.
print("hello")
二、编程题
-
写代码在控制台打印
good good study, day day up!
print('good good study, day day up!')
-
写代码在控制台打印5次
you see see, one day day!
for x in range(5): print('you see see, one day day!')
-
写代码打印数字 11、12、13、… 21
print('11、12、13、... 21')
-
写代码打印数字 11,13,15,17,…99
for x in range(11,100,2): print(x)
-
写代码打印数字:10、9、8、7、6、5
print('10、9、8、7、6、5')
-
写代码计算:1+2+3+4+…+20 的和
result = 0 for x in range(1,21): result += x print(result)
-
写代码计算100以内所有偶数的和
result = 0 for x in range(0,101,2): result += x print(result)
-
写代码统计100~200中个位数是3的数的个数
count = 0 for x in range(103,201,10): count += 1 print(count)
-
写代码计算
2*3*4*5*...*9
的结果result = 1 for x in range(2,10): result *= x print(result)
-
输入一个数,如果输入的数是偶数就打印
偶数
否则打印奇数
num = int(input('请输入一个数:')) if num % 2 == 0: print('偶数') else: print('奇数')
-
统计1000以内能被3整除但是不能被5整除的数的个数。
count = 0 for x in range(3,1001,3): if x % 5 != 0: count += 1 print(count)