python-程序控制-if(四)

1.input函数

input函数是python的内置函数,它专门用来接收标准输入数据,当用户在终端输入回车后表示输入结束,函数返回值是字符串类型。

input函数实例:

#coding=utf-8
value =input("请输入一个整数:")
print(value,type(value))
#输入的是字符串,需要转为整数int(str),float(str)
vs=int(value)
if vs>10:
    print("大于10")
else:
    print("小于10")

2.if语句

 if条件语句是流程控制语句,if 语句包含零个或多个 elif 子句及可选的 else 子句,关键字elif 是else if的缩写,可以避免过多的缩进,python里没有else if 这种语法。if语句的核心作用是控制程序走向哪一个逻辑分支。

示例:

#coding=utf-8;
def iftest(a):
    if a<=10:
        print "if",a;
    elif a>10 and a<100:
        print "elif",a;
    else:
        print "else",a;
iftest(99);
  • if关键字后面必须紧跟一个表达式,这里a<=10就是一个表达式。
  • elif关键字后面也必须紧跟一个表达式,这里a》10 and a<100 也是一个表达式。
  • if , elif , else 各自产生一个逻辑分支,也就是print部分
  • elif 语句可以有0或者多个。
  • else语句可以有0或者一个else。
if语句的执行过程如下:
从上到下,依次判断if,elif表达式是否成立,如果成立,则进入对应的逻辑分支执行代码
表达式的计算结果如果是True,那么表达式就是成立的,反之,表达式不成立。
if,elif, else 各自形成逻辑分支,程序在执行时,只能进入其中的某一个逻辑分支,无法进入两个或两个以上。

 2.1 if语句的三种形式

从形式上看,if语句可以分为3中形式:

  1. if statement
  2. if-else
  3. if-elif-else

if statement,这种形式的if语句只有一个if关键字,当满足某个条件时,程序执行对应的逻辑分支。

#coding=utf-8;
value = input("请输入一个整数:")
print(value, type(value));
if value %2 == 0 :
    print  value,"是偶数";

如果想对输入的奇数做响应,那么应当使用if-else 这种if语句形式。

#coding=utf-8;
value = input("请输入一个整数:")
print(value, type(value));
if value %2 == 0 :
    print  value,"是偶数";
elif value %2 != 0:
    print value,"是奇数";

当对应多个条件有多个逻辑分支时,则应使用if-elif-else 形式的if语句来处理,比如下面的代码:

temperature = input("请输入今天的温度:");
temperature = int(temperature);
if temperature < 0:
    print("寒冷");
elif temperature < 15:
    print("微冷");
elif temperature < 25:
    print("温暖");
else:
    print("炎热");

将温度划分为4个区间

  1. 小于0, 寒冷
  2. 大于等于0小于15度,微冷
  3. 大于等于15小于25,温暖
  4. 大于等于25,炎热

程序将根据用户输入的温度判断并输出温度输出哪一个区间。if语句在执行时,从上至下依次判断下面3个表达式是否成立

  1. temperature < 0
  2. temperature < 15
  3. temperature < 25

如果表达式1成立,就进入if关键字所对应的逻辑分支输出寒冷,注意,此刻已经有一个条件表达式成立了,那么其他的条件表达式就不会再判断了。

如果表达式1不成立,继续判断表达式2是否成立,此时已经可以断定temperature是大于等于0的,因此第二个表达式里我没有特别的注明大于等于0,其实也可以写成 0 <= temperature < 15,只是从逻辑上看是毫无必要的,因此只有当temperature大于等0时才有机会判断第二个表达式是否成立。

如果表达式2也不成立,则计算判断表达式3,如果表达式3也不成立,则直接进入到else所对应的逻辑分支,temperature 必然是大于等于25。

 2.2 if语句如何判断条件表达式是否成立

python的if语句在判断条件表达式是否成立时有自己特殊的规则,我们先来看常规的情况:

if 5 > 3:
    pass

表达式 5 > 3 的计算结果是True,属于bool类型,此时表达式成立,这与其他编程语言并无区别,python的特殊之处在于它并不要求if语句中的表达式计算结果必须是bool类型,比如下面的if语句:

lst = []
if lst:
    print("lst不是空列表")

表达式lst的计算结果就是lst本身,属于列表类型,这在其他编程语言里可能是个语法错误,但python却支持这种写法,那么它是如何处理的呢,方法其实很简单,使用bool内置函数对表达式的结果进行换换,如果转换结果是True,条件表达式成立,反之条件表达式不成立。

bool([]) 的结果是False,bool函数传入的参数如果是空列表,空集合,空字符串,空字典,None,0, False,函数的返回值就是False,除此以外都是True。

2.3 if 嵌套

最简单的if条件语句结构如下:

if condition:
    block

当表达式condition成立时,程序进入到if 下面的代码块block执行,在block中,还可以写if条件语句么?答案是肯定的,这样就形成了一个if嵌套,在某个条件下,继续针对不同的条件进行控制,嵌套的层次不受限制,只要你自己能理清思路就行。

使用input函数接收用户的输入,用户输入一个正整数num,对num进行判断,如果num小于50 ,那么则继续判断它能否被3整除,如果能,输出“可以被3整除”,否则输出“不能被3整除”, 如果numd大于等于50,则继续判断能否被5整除,如果能,输出“可以被5整除”,否则输出“不能被5整除”

直接给出示例代码:

num = int(input("输入一个数字:"))
if num < 50:
    if num % 3 == 0:
        print('可以被3整除')
    else:
        print('不能被3整除')
else:
    if num % 5 == 0:
        print("可以被5整除")
    else:
        print("不能被5整除")

 

posted @ 2022-09-15 16:31  家乐福的搬砖日常  阅读(113)  评论(0编辑  收藏  举报