当前位置: 代码迷 >> 综合 >> Python入门学习之流程控制语句if,if-else,if-elif-else
  详细解决方案

Python入门学习之流程控制语句if,if-else,if-elif-else

热度:35   发布时间:2023-12-02 17:43:40.0

一、if 语句(条件判断语句)

1、语法

if 条件表达式 :
代码块

2、执行流程

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

3、代码块

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

4、代码缩进

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

5、代码示例

if True :print(123)print(456)print(789)print(101112)# 可以使用逻辑运算符来连接多个条件,
# 如果希望所有条件同时满足,则需要使用and
# 如果希望只要有一个条件满足即可,则需要使用orif num > 10 and num < 20 :print('num比10大,num比20小!')if 10 < num < 20 :print('num比10大,num比20小!')

二、input函数

1、该函数用来获取用户的输入
2、input()调用后,程序会立即暂停,等待用户输入
用户输入完内容以后,点击回车程序才会继续向下执行
用户输入完成以后,其所输入的的内容会以返回值得形式返回
注意:input()的返回值是一个字符串
3、input()函数中可以设置一个字符串作为参数,这个字符串将会作为提示文字显示
a = input(‘请输入任意内容:’)
print(‘用户输入的内容是:’,a)
input()也可以用于暂时阻止程序结束

三、if-else语句

1、语法

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

2、执行流程

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

3、代码示例

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

四、if-elif-else语句

1、语法

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

2、执行流程

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

3、代码示例

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

五、if练习

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

#获取用户输入的整数
num = int(input('请输入一个任意的整数:'))
# 显示num是奇数还是偶数
if num % 2 == 0 :print(num , "是偶数")
else :print(num , '是奇数')控制台输出:
请输入一个任意的整数:5
5 是奇数

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

year = int(input('请输入一个任意的年份:'))
# 检查这个年份是否是闰年
if year % 4 == 0 and year % 100 != 0 or year % 400 == 0 :print(year,'是闰年')
else :print(year,'是平年')控制台输出:
请输入一个任意的年份: 2021
2021 是平年

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:# 如果狗的年龄在两岁以下(包含两岁)if dog_age <= 2:# 直接将当前的年龄乘以10.5like_person_age = dog_age * 10.5# 如果狗的年龄在两岁以上else:# 计算前两岁相当于人类的年纪like_person_age = 2 * 10.5# 计算超过两岁的部分相对于人类的年纪,并进行相加like_person_age += (dog_age - 2) * 4print(dog_age, '岁的狗,年纪相当于', like_person_age, '岁的人')
else:print('请输入一个合法的年龄!')控制台输出:
请输入狗的年龄:10
10.0 岁的狗,年纪相当于 53.0 岁的人

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

# 检查用户的输入是否合法
if 0 <= score <= 100 :# 判断发给的奖励if score == 100 :print('奖励一辆BMW')elif score >= 80 :print('奖励一台iphone')elif score >= 60 :print('奖励一本参考书')else :print('什么奖励也没有')
else :# 用户输入的不合法,弹出一个友好提示print('你输入的内容不合法!')控制台输出:
请输入你的期末成绩(0-100):80
奖励一台iphone