流程控制语句

简介

Python代码在执行时是按照自上向下顺序执行的。
通过流程控制语句,可以改变程序的执行顺序,也可以让指定的程序反复执行多次
流程控制语句分成两大类:条件判断语句,循环语句

条件判断语句(if语句)

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

执行的流程:if语句在执行时,会先对条件表达式进行求值判断,
如果为True,则执行if后的语句
如果为False,则不执行
默认情况下,if语句只会控制紧随其后的那条语句,如果希望if可以控制多条语句,
则可以在if后跟着一个代码块

代码块

代码块中保存着一组代码,同一个代码块中的代码,要么都执行要么都不执行
代码块就是一种为代码分组的机制
如果要编写代码块,语句就不能紧随在:后边,而是要写在下一行
代码块以缩进开始,直到代码恢复到之前的缩进级别时结束

#   鲁迅说过:
#       世上本来没有路,走的人多了自然就有了!
#       xxxx
#   yyyy....

缩进有两种方式,一种是使用tab键,一种是使用空格(四个)
Python的官方文档中推荐我们使用空格来缩进
Python代码中使用的缩进方式必须统一

#   "translate_tabs_to_spaces": true,     

# if False : print('你猜我出来么?')

num = 10
# if num > 10 : print('num比10大!')
# print('谁也管不了我')

if False :
    print(123)
    print(456)
    print(789)
    print(101112)
# print('hello')

num = 28

可以使用逻辑运算符来连接多个条件,
如果希望所有条件同时满足,则需要使用and
如果希望只要有一个条件满足即可,则需要使用or

# if num > 10 and num < 20 :
#     print('num比10大,num比20小!')

# if 10 < num < 20 :
#     print('num比10大,num比20小!')

在命令行让用户输入一个用户名,获取用户输入,并进行判断
如果用户输入的用户名是admin,则显示欢迎管理员光临
如果用户输入的是其他的用户名,则什么也不做

name=input('请输入用户名')
if name='admin' :
    print('欢迎管理员!!')

input()函数

该函数用来获取用户的输入
input()调用后,程序会立即暂停,等待用户输入
用户输入完内容以后,点击回车程序才会继续向下执行
用户输入完成以后,其所输入的的内容会以返回值得形式返回
注意:input()的返回值是一个字符串
input()函数中可以设置一个字符串作为参数,这个字符串将会作为提示文字显示

# a = input('请输入任意内容:')
# print('用户输入的内容是:',a)
# input()也可以用于暂时阻止程序结束   eg:结束前编辑 按回车键结束退出

# 获取用户输入的用户名
username = input('请输入你的用户名:')
# 判断用户名是否是admin
if username == 'admin' :
    print('欢迎管理员光临!')

if else语句

# 让用户在控制台中输入一个年龄
# age = int(input('请输入你的年龄:'))

# 如果用户的年龄大于18岁,则显示你已经成年了
# if age >= 18 :
#     print('你已经成年了~~~')

# if-else语句
# 语法: 
#   if 条件表达式 :
#       代码块
#   else :
#       代码块
# 执行流程:
#   if-else语句在执行时,先对if后的条件表达式进行求值判断
#       如果为True,则执行if后的代码块
#       如果为False,则执行else后的代码块

age = 7
if age > 17 :
    print('你已经成年了~~')
else :
    print('你还未成年~~')

if-elif-else语句

语法:

#   if 条件表达式 :
#       代码块
#   elif 条件表达式 :
#       代码块
#   elif 条件表达式 :
#       代码块
#   elif 条件表达式 :
#       代码块
#   else :
#       代码块

执行流程:
if-elif-else语句在执行时,会自上向下依次对条件表达式进行求值判断,
如果表达式的结果为True,则执行当前代码块,然后语句结束
如果表达式的结果为False,则继续向下判断,直到找到True为止
如果所有的表达式都是False,则执行else后的代码块
if-elif-else中只会有一个代码块会执行

age = 210

# if age > 200 :
#     print('活着可真没劲呢!')
# elif age > 100 :
#     print('你也是老大不小了!')
# elif age >= 60 :
#     print('你已经退休了!')
# elif age >= 30 :
#     print('你已经是中年了!')
# elif age >= 18 :
#     print('你已经成年了!')
# else :
#     print('你还是个小孩!')

age = 68

if age >= 18 and age < 30 :
    print('你已经成年了!')
elif age >= 30 and age < 60 :
    print('你已经中年了!')
elif age >= 60 :
    print('你已经退休了!')

练习1:
编写一个程序,获取一个用户输入的整数。然后通过程序显示这个数是奇数还是偶数。

编写一个程序,获取一个用户输入的整数。然后通过程序显示这个数是奇数还是偶数。
获取用户输入的整数
num = int(input('请输入一个任意的整数:'))

# 显示num是奇数还是偶数
if num % 2 == 0 :
    print(num , "是偶数")
else :
    print(num , '是奇数')

练习2:
编写一个程序,检查任意一个年份是否是闰年。
如果一个年份可以被4整除不能被100整除,或者可以被400整除,这个年份就是闰年

编写一个程序,检查任意一个年份是否是闰年。
    如果一个年份可以被4整除不能被100整除,或者可以被400整除,这个年份就是闰年
year = int(input('请输入一个任意的年份:'))
# 检查这个年份是否是闰年
# year % 4 == 0 and year % 100 != 0 or year % 400 == 0
if year % 4 == 0 and year % 100 != 0 or year % 400 == 0 :
    print(year,'是闰年')
else :
    print(year,'是平年')

练习3:
我家的狗5岁了,5岁的狗相当于多大年龄的人呢?
其实非常简单,狗的前两年每一年相当于人类的10.5岁,然后每增加一年就增加四岁。
那么5岁的狗相等于人类的年龄就应该是10.5+10.5+4+4+4 = 33岁

编写一个程序,获取用户输入的狗的年龄,然后通过程序显示其相当于人类的年龄。
如果用户输入负数,请显示一个提示信息

dog_age = float(input('请输入狗的年龄:'))
like_person_age = 0
检查用户输入的是否是负数
if dog_age < 0 :
    print('你的输入不合法!')
# 如果狗的年龄在两岁以下(包含两岁)
elif dog_age <= 2 :
    # 直接将当前的年龄乘以10.5
    like_person_age = dog_age * 10.5
# 如果狗的年龄在两岁以上
else :
    # 计算前两岁相当于人类的年纪
    like_person_age = 2 * 10.5
    # 计算超过两岁的部分相对于人类的年纪,并进行相加
    like_person_age += ( dog_age - 2 ) * 4

if dog_age > 0 :
    print(dog_age,'岁的狗,年纪相当于',like_person_age,'岁的人')

练习4:
从键盘输入小明的期末成绩:
当成绩为100时,‘奖励一辆BMW’
当成绩为[80-99]时,‘奖励一台iphone’
当成绩为[60-79]时,‘奖励一本参考书’
其他时,什么奖励也没有

获取小明的成绩
score = float(input('请输入你的期末成绩(0-100):'))

# 打印分割线
print("="*40)

# 检查用户的输入是否合法
if 0 <= score <= 100 :
    # 判断发给的奖励
    if score == 100 :
        print('宝马,拿去玩!')
    elif score >= 80 :
        print('苹果手机,拿去玩!')
    elif score >= 60 :
        print('参考书,拿去玩!')
    else :
        print('棍子一根!')
else :
    # 用户输入的不合法,弹出一个友好提示
    print('你输入的内容不合法,拉出去毙了!')

练习5:
大家都知道,男大当婚,女大当嫁。那么女方家长要嫁女儿,当然要提出一定的条件:
高:180cm以上; 富:1000万以上; 帅:500以上;
如果这三个条件同时满足,则:‘我一定要嫁给他’
如果三个条件有为真的情况,则:‘嫁吧,比上不足,比下有余。’
如果三个条件都不满足,则:‘不嫁!’

# 获取用户的三个数据,身高、财富、颜值
height = float(input('请输入你的身高(厘米):'))
money = float(input('请输入你的财富(万):'))
face = float(input('请输入你的颜值(平方厘米):'))

# 判断到底嫁不嫁
# 如果这三个条件同时满足,则:'我一定要嫁给他'
if height > 180 and money > 1000 and face > 500 :
    print('我一定要嫁给他!')
# 如果三个条件有为真的情况,则:'嫁吧,比上不足,比下有余。'
elif height > 180 or money > 1000 or face > 500 :
    print('嫁吧,比上不足,比下有余。')
# 如果三个条件都不满足,则:'不嫁!'
else :
    print('不嫁!')

笔记为自己总结