美文网首页
python 基础知识第5讲:条件控制语句

python 基础知识第5讲:条件控制语句

作者: 小海怪的互联网 | 来源:发表于2019-06-02 09:01 被阅读0次

先看下面一段代码:

print('hello world')
print(111)

通过上面代码的运行,我们可以发现python的程序代码是自上而下运行的
当我们想将输出顺序改变的话,就需要用到条件控制语句

条件控制语句

1.条件判断 if语句

语法:

if 条件表达式 :
代码块

  • 请参看以下代码:
if  False:print('Hello')

结果为什么都不输出

if True:print('Hello')

结果为 Hello
通过以上代码我们可以分析出:

执行流程:

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

什么是代码块?

代码块当中保存着一组代码,同一个代码块中的代码,要么都执行要么都不执行。
简单来说代码块就是一种为代码分组的机制

2.input()函数

input()函数接受一个标准输入数据,返回为 string 类型。
input() 也可以用于阻止程序结束

需求:获取用户输入的用户名,当用户名是 admin时显示欢迎访问
实现代码:

uname=input("请输入用户名:")
if uname == 'admin':
    print('welcom',uname)

3. if--else语句

语法:

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

执行流程:

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

uname=input("请输入用户名:")
if uname == 'admin':
    print('welcom',uname)
else:
    print('输入有误,不是合法的用户')

再看一下个需求:
让用户输入一个工资,当大于2000时,执行一句语句,当不小于2000时执行一条语句
代码实现:

salary = int(input('请输入您的工资:'))  #由于input接收的都字符串类型的,所以我们需要将接收的内容强转为 int数据类型
if  salary>=2000:
    print('这个薪水勉强可以养活你了')
else:
    print('要饿死了,得加油哦!')

4. if----elif--else语句

可以满足多种条件

语法:

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

执行流程:

if-elif-else语句在执行时,会自上向下依次对条件表达式进行求值判断,
如果表达式的结果为True,则执行当前代码块,然后语句结束
如果表达式的结果为False,则继续向下判断,直到找到True为止
如果所有的表达式都是False,则执行else后的代码块
if-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 = 7000
if value >= 2000:
    print('能养活自己了')
elif value >=5000:
    print('还说得过去')
elif value >= 10000:
    print('哥也是过万的人了')

结论:以上代码通过改变value的值输出的结果都为 “能养活自己了”,我们分析得出当条件是自小往大的顺序执行的话, 不管value值如何变化,程序始终是按满足第一个条件时进行输出(也就是死代码),所以我们为了让程序执行的更加准确需要在条件上加上相应范围,我们再看调整后的代码:

value = 20000

if value >= 2000 and value < 5000:
    print('能养活自己了')

elif value >= 5000 and value < 10000:
    print('工资还说的过去')


elif value >= 10000:
    print('哥也是月薪上万')

此时我们通过运行程序,改变value的值就会根据不同的条件得到不同的输出结果,不至于像第一种情况,永远只输出满足第一个条件结果,所以以后的程序代码编写中要特别注意(不要写死代码)

5. if语句练习

练习1:根据指定的月份打印该月份所属的季节

经过分析我们的代码如下:

month =int(input('请输入月份'))  #让用户输入月分信息
#我们假定 3,4,5为春季,6,7,8为夏季,9,10,11 为秋季,12,1,2为冬季,月份中不能小于1和大于12,当输入小于1或大于12的时候,我们提示用户输入有误

if month < 1 or month >12:
    print('输入的月份不存在,你不知道一年有多少个月吗?')
elif  3 <= month <= 5:   #月份在3-5月
    print(month,'月份是春季,春暖花开,你可以浪了')
elif  6 <= month <= 8:   #月份在6-8月
    print(month,'月份是夏季,地表升温,空调续命')
elif 9 <= month <= 11:  # 月份在9-11月
    print(month, '月份是秋季,收获的季节,快去看看你的爱情收获了没')
else:  # 此时月份在12-次年2月
    print(month, '月份是冬季,被子不让我起床,继续养膘!')

练习2:根据用户输入的数字判断是奇数还是偶数

经过分析我们的代码如下:

num = int(input('请输入1-100的数字:'))  #接收用户输入的数字
if  num % 2 == 0: #通过 % 模运算符,求最后的余数,余数为0 说明是偶数,否则为 奇数
    print(num,'是偶数')
else: 
    print(num,'是奇数')

练习3:根据用户输入的年份判断是否是闰年

经过分析我们的代码如下:

year = int(input('请输入年份:'))  #闰年成立的条件 一般的,能被4整除的年份是闰年不能被100整除,不能被4整除的年份是平年或者可以被400整除的也是闰年 二月有29天就是闰年 28天就是平年
if (year % 4== 0 and year % 100 != 0)  or year % 400 == 0:
    print(year,'年是闰年')
else:
    print(year,'年是平年')

练习4:根据用户输入的狗狗的年龄得出相当于人的多少岁

假设:狗狗的前2年,第一年相当 于人的10.5岁,往后每一年相当于4岁计算
经过分析我们的代码如下:

dog_age = float(input('请输入狗狗的年龄:')) #输入狗狗的年龄
p_age=0
if dog_age < 1 or dog_age >20:
    print('输入有误')
elif 1 < dog_age <=2:
    p_age *=10.5
elif 2 < dog_age <=20:
    p_age +=21+(dog_age-2)*4
print('狗狗的年龄是{}岁,相当于人{}岁的年龄'.format(dog_age,p_age))

6. while循环语句

循环语句:

可以指定代码块重置指定次数
分为两种 while 循环 for 循环

while循环

语法:
while 条件表达式 :
代码块
else:
代码块
执行流程:

while语句在执行时,会先对while后的条件表达式进行求值判断,
如果判断结果为True,则执行循环体(代码块),
循环体执行完毕,继续对条件表达式进行求值判断,以此类推,
直到判断结果为False,则循环终止

死循环:

while True:  #只有特定场景才用,特别消耗资源
    print(1)

分析下面的代码;

i=0  #第一个条件是初始化表达式,定义一个变量
while i < 20: #第二个条件是  条件表达式,用来设置执行循环的条件
    print(i)
    i += 1 # 第三个条件,更新表达式,修改初始化变量的值

输出结果 0--19

i=0  #第一个条件是初始化表达式,定义一个变量
while i < 20: #第二个条件是  条件表达式,用来设置执行循环的条件
     i += 1 # 第三个条件,更新表达式,修改初始化变量的值  
     print(i)

输出结果 1-20

我们将 i+=1 换一下位置

注:特别注意,当上述代码中的第三个条件,位置在输出语句前和输出语句后时,最终的输出结果会发生变化

6. 1 while循环语句练习1

求100以内的偶数之和
分析后代码如下:

#第一种方法:
# sum=0
# i = 0
# while i<=100:
#     if i % 2 == 0:
#         sum += i
#     i += 1
# print(sum)

#第二种方法:
sum=0
i = 0
while i<100:
    i+=2
    if i % 2 == 0:
        sum += i

print(sum)

以上2个方法,我们可以看出,当条件先更新和后更新时,我们的while条件也是不同的

6. 1 while循环语句练习2

求出100以内的所有6的倍数,以及个数

#第一种方法:
i = 6
count = 0
while i<100:
    if i % 6 == 0:
        count+=1
        print(i)

    i+=6
print('总数为{}'.format(count))

结果为 6,12 总数为 16

相关文章

  • python 基础知识第5讲:条件控制语句

    先看下面一段代码: 通过上面代码的运行,我们可以发现python的程序代码是自上而下运行的当我们想将输出顺序改变的...

  • Python 3 笔记 - 第6章 逻辑控制

    1. 条件控制 Python 条件控制只有 if-elif-else 语句,没有 switch-case 语句 P...

  • Lesson 020 —— python 条件控制

    Lesson 020 —— python 条件控制 Python条件语句是通过一条或多条语句的执行结果(True或...

  • 13.python3条件控制

    python3条件控制之if语句 Python 条件语句是通过一条或多条语句的执行结果(True 或者 False...

  • 011.Python条件控制

    Python 条件控制 1. 概述 Python条件语句是通过一条或多条语句的执行结果(True或者False)来...

  • Python笔记

    1、Python流程控制结构 1.1Python条件结构 ①if()语法:if():多条语句体注意:if结构的语句...

  • 13、python条件控制

    Python3 条件控制 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的...

  • Python基础_03_if语句

    Python3 条件控制 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的...

  • Python条件控制语句

    1,if条件语句 if语句中的条件判断不需要跟括号,并且以冒号作为标记符 if语句可以使用not运算 if ......

  • python条件控制语句

    运算符优先级 运算符优先级 运算符优先级从上往下逐渐变低**指数 (最高优先级)~ + -按位翻转, 一元加号和减...

网友评论

      本文标题:python 基础知识第5讲:条件控制语句

      本文链接:https://www.haomeiwen.com/subject/ssbtxctx.html