05 条件控制语句

2020-08-31  本文已影响0人  Chloris_0320

05 条件控制语句

1. 条件判断语句(if语句)

  • 语法:
    if 条件表达式 :
    ...代码块

num = 60
if num > 20:print('num比20大')
结果:num比20大

if True:
....print(123)
....print('haha')
....print('hello')
结果:
123
haha
hello

num = 22
if num > 20 and num < 40:
print('num比20大,比40小')
结果:num比20大,比40小

num = 22
if 30 < num < 40:
print('num比20大,比40小')
结果:(空)

2. input() 函数

例: 获取用户输入的用户名,如果用户名使python欢迎访问
username = input('请您输入:')
if username == 'python':
....print('欢迎访问')
结果:若输入python,则会输出欢迎访问,若输入其他,则不会输出任何。

3. if-else语句

  • 语法:
    if 条件表达式 :
    ....代码块
    else :
    ....代码块

例:如果用户的工资大于2000 还可以了
value = int(input('请输入你的工资:'))
if value > 2000:
....print('还可以了')
else:
....print('你该加油了兄弟!!')

4. if-elif-else 语句

  • 语法:
    if 条件表达式 :
    ....代码块
    elif 条件表达式 :
    ....代码块
    elif 条件表达式 :
    ....代码块
    ... ...
    else :
    ....代码块

value = 10000
if value >= 30000:
....print('有钱任性')
elif value >= 20000:
....print('有钱真好!')
elif value >= 10000:
....print('哥们也月薪上万了')
elif value >= 5000:
....print('工资还说的过去')
elif value >= 2000:
....print('能养活自己了')
else:
....print('老弟你该加油了!')

value = 3000
if value >= 2000 and value < 5000:
....print('能养活自己了')
elif value >= 5000 and value < 10000:
....print('工资还说的过去')
elif value >= 10000 and value <30000:
....print('哥们也月薪上万了')
else:
print('有钱任性')

练习一:根据指定的月份打印出所属的季节
3 4 5 春季 6 7 8 夏季 9 10 11 秋季 12 1 2 冬季

month = 120
if month == 3 or month == 4 or month == 5:
....print(month,'春季')
elif month == 6 or month == 7 or month == 8:
....print(month,'夏季')
elif month == 9 or month == 10 or month == 11:
....print(month,'秋季')
elif month == 12 or month == 1 or month == 2:
....print(month,'冬季')
else:
....print('月份不存在')

month = 13
if month > 12 or month < 1:
....print('月份不存在') #先把不正确的月份排除
elif 3 <= month <= 5:
....print(month, '春季')
elif 6 <= month <= 8:
....print(month, '夏季')
elif 9 <= month <= 11:
....print(month, '秋季')
else:
....print(month, '冬季')

练习二: 我家的狗5岁了,5岁的狗相当于人类的年龄是多大呢?
狗的前两年的每一年相当于人类的10.5岁。然后每一年增加4岁
那么5岁的狗相当于人类的年龄就是 10.5 + 10.5 + 4 + 4 + 4 = 33
需求:获取用户输入的狗的年龄。然后提示人类的年龄是多大?如果用户输入的是负数提示错误信息



5. while语句

循环语句可以使指定的代码块重复指定的次数.
循环语句分成两种,while循环 和 for循环

语法:
while 条件表达式 :
....代码块
else:
....代码块

例:
while True: # 慎用,死循环
....print(1)


练习:求1 - 100所有的偶数之和
先找到100个数1 - 100
判断 判断哪些是偶数
求和运算


6. 循环嵌套

  • 语法:
    while 表达式:
    ....while 表达式:
    ........代码块
    ....代码块

for 变量 in 循环规则:
....for 变量 in 循环规则:
........ 代码块
....代码块

练习1:打印如下一个图形
‘*****
’*****
‘*****
‘*****
‘*****

i = 0
while i < 5: # 外层循环控制图形的一个高度
....j = 0
....while j < 5: # 内层循环控制图形的一个宽度
........print('*',end='') # end='' 不换行
........j += 1
....print()
....i += 1

练习2:打印如下图形
‘*
**
‘***
‘****
‘*****

分析:
'* i = 0 j < 1 --> j < i + 1
** i = 1 j < 2 --> j < i + 1
*** i = 2 j < 3 --> j < i + 1
**** i = 3 j < 4 --> j < i + 1
***** i = 4 j < 5 --> j < i + 1

i = 0
while i < 5:
....j = 0
....while j < i + 1:
........print('*', end='')
........j += 1
....print()
....i += 1

练习3:打印如下图形
‘*****
‘****
‘***
**
‘*

分析:
***** i = 0 j < 5 --> j < 5 - i
**** i = 1 j < 4 --> j < 5 - i
'*** i = 2 j < 3 --> j < 5 - i
** i = 3 j < 2 --> j < 5 - i
'* i = 4 j < 1 --> j < 5 - i

i = 0
while i < 5:
....j = 0
....while j < 5 - i:
........print('*', end='')
........j += 1
....print()
....i += 1

练习4:打印99乘法表


结果:

作业1:求1000以内所有的水仙花数
指的是一个3位数 每个位数上的3次幂之和等于它本身
例如 1 ** 3 + 5 ** 3 + 3 ** 3 = 153


作业2:获取用户输入的任意数,判断其是否是质数?
什么是质数 只能够被1和它本身整除的数就是质数 2 3 5 7 11 ... 97 1不是质数


7. break和continue

上一篇下一篇

猜你喜欢

热点阅读