2022.07.15 DAY15
1.控制语句
1.PyCharm
- IED --> IDLE PyCharm wingIDE Eclipse IPython
- Create New Project
- 选择路径 - 项目命名
2. 选择结构
-
选择结构通过判断条件是否成立,来决定执行哪一个分支。
-
单分支结构
-
if语句单分支结构的语法如下:
if 条件表达式: 语句/语句块 -
条件表达式:可以是逻辑表达式、关系表达式、算术表达式等等。
-
语句/语句块:可以是一条语句,也可以是多条语句。多条语句,缩进必须对齐一致。
-
结果为False:False/0/0.0/None/空序列对象/空range对象/空迭代对象
-
条件表达式中,不能有赋值操作符"="
-
-
代码测试:
# 选择结构 def test(): while True: num = input("请输入一个数:") if int(num) == 0: print('num == 0') break # 退出循环 if int(num) < 0: print('num < 0') if int(num) > 0: print('num > 0') del num # Main if __name__ == '__main__': test() -
双分支结构
-
if语句双分支结构的语法如下:
if 条件表达式: 语句/语句块1 else: 语句/语句块2
-
-
代码测试:
# 双分支选择结构 def test2(): while True: num = input("请输入一个数:") if int(num) == 0: print('num == 0') break # 退出循环 if int(num) < 0: print('num < 0') else: print('num > 0') del num # Main if __name__ == '__main__': test2() -
三元条件运算符
- Python提供了三元运算符,用来在某些简单双分支赋值的情况。
- 三元条件运算符语法的格式如下:
- 条件为真时的值 if (条件表达式) else 条件为假时的值
- 写法更简洁、易读。
代码测试:
# 三元条件运算符
def test3():
while True:
num = input("请输入一个数:")
print(num if int(num) < 10 else "num > 10")
if int(num) == 0:
print('退出循环')
break # 退出循环
del num
# Main
if __name__ == '__main__':
test3()
-
多分支结构
-
多分支结构的语法如下:
if 条件表达式1: 语句/语句块1 elif 条件表达式2: 语句/语句块2 elif 条件表达式3: 语句/语句块3
-
-
代码测试:
# 多分支选择结构 def test4(): while True: score = input("请输入分数:") if int(score) < 0 or int(score) > 100: print("退出查询") break # 退出循环 elif int(score) < 60: print('成绩不及格') elif int(score) < 70: print('成绩及格') elif int(score) < 80: print('成绩中等') elif int(score) < 90: print('成绩良好') elif int(score) <= 100: print('成绩优秀') del score # Main if __name__ == '__main__': test4() -
选择结构嵌套
-
控制好缩进量,决定代码的从属关系。
-
选择结构嵌语法如下:
if 条件表达式1: 语句块1 if 条件表达式2: 语句块2 else 语句块3 else if 条件表达式4: 语句块4
-
3. 循环结构
-
重复执行一条或者多条语句。
-
符合条件,执行循环里边的语句,否则退出循环。
-
while 循环
-
while 循环的语法格式如下:
while 条件表达式: 循环体语句
-
-
for 循环
-
通常用于可迭代对象的遍历。
-
for循环的语法格式如下:
for 变量 in 可迭代对象: 循环体语句
-
-
测试代码:
# for 循环 def test5(): sum = 0 for i in range(10): sum += i print(sum) for x in (10, 20, 30): print(x * 10) d = {'name': 'YJP', 'age': 21} for x in d: print(x) for x in d.keys(): print(x) for x in d.values(): print(x) # Main if __name__ == '__main__': test5() -
range 对象
- range对象是一个迭代器对象,用来产生指定范围的数字序列。
- 格式为: range(start, end, step)
- 生成的数值序列从start开始到end结束(不含end)。
- 如果没有填写start,则默认从0开始,step是可选步长,默认为1。
- 示例:
- for i in range(10) – 序列:0 1 2 3 4 5 6 7 8 9
- for i in range(3, 10) – 序列:3 4 5 6 7 8 9
- for i in range(3, 10, 2) – 序列:3 5 7 9
-
代码测试:
# 100以内的奇偶数和 def test6(): sum_all = 0 sum_odd = 0 sum_even = 0 for x in range(101): sum_all += x if x % 2 == 1: sum_odd += x else: sum_even += x print("0-100累加总和{0},奇数和{1},偶数和{2}".format(sum_all, sum_odd, sum_even)) # Main if __name__ == '__main__': test6()
3049



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



