operator和if结构

Posted lijianming180

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了operator和if结构相关的知识,希望对你有一定的参考价值。

1.比较运算符:>,<,==,!=,>=,<=

注意:所有比较运算符的结果都是布尔值
举例:

1
2
3
4
5
6
7
8
9
print(100>10)  
print(100<1000)
print(100<10)
print(100<1000)
print(100==100) #True
print(100==10) #False
print(100!=100) #False
print(100!=10) #True
print(100<=100) #True

  • “=”将运算结果赋值给变量
    1
    2
    3
    result=10>=1
    result1=100+1
    print(result,result1)

2.逻辑运算符:and,or,not

注意:所有的逻辑运算符的结果都是布尔值,操作对象也都是布尔值

a.逻辑与运算:and

  • 运算规则:两个都为True,结果才是True;只要有一个是False,结果都是False。
  • 应用:要求多个条件同时满足的时候,使用and将多个条件满足在一起
  • 举例:分数不低于90并且年龄大于25
    1
    print(score>=90 and age>25)

b.逻辑或运算:or

  • 运算规则:两个都为False,结果才是False;只要有一个是True,结果就是True。
  • 应用:要求多个条件中至少有一个条件满足的时候,使用or将多个条件连接在一起
  • 举例:获取奖学金的条件:学习成绩大于90分或者操评分大于95分
    1
    print(‘是否获得奖学金:‘,score1>90 or score2>95)

c.逻辑非运算:not

  • 运算规则:True变False,False变True
  • 应用:对一个条件进行否定
  • 举例:进入网吧的条件:年龄不小于18
    1
    2
    3
    age=9
    print(‘是否能进入网吧:‘, not age<18) #写法1
    print(‘是否能进入网吧:‘, age>=18) #写法2

3.赋值运算符:=,+=,-=,*=,/=,//=,%=,**=

注意:所有的赋值运算符左边要求都必须是变量;复合赋值运算符左边要求是变量以外,这个变量还必须已经赋过值

a.= :直接将=右边的值赋给左边的变量

b. +=,-=,*=,/=,//=,%=,**=

  • 变量 += 值 —-相当于 变量=变量+值 赋值过程:将原变量中的数据取出来,和后边的值相加,然后将最新的结果重新赋给变量:
    1
    2
    3
    num2=10
    num2+=2 #num2=num2+2
    print(num2) #num2=12

4.运算符的优先级

a.数学运算符>比较运算符>逻辑运算符>赋值运算符

b.先算优先级高的,在算优先级低的。如果有括号,先算括号里面的,不要让数字参与逻辑运算,没有任何意义。

number

python 中和数字相关的类型有4种:int,float,bool,complex

1.int(整型)

  • 整型包含了数字中所有的整数,包括正整数,负整数和0;例如:0,1,-100
    1
    print(10,-100,200,0)

2.float(浮点型)

  • 浮点型包含数字中所有的小数;例如:0.0,0.12,-3.14
  • 支持科学计数法:2e3

3.bool(布尔)

  • 布尔只有True和False两个值;实质,当布尔参与数字运算的时候True就是1,False就是0
  • 举例:
    1
    2
    print(True==1)
    print(False==0)

4.complex(复数)

  • 复数是指包含实部和虚部的这种数:10+2j,19j,-10j
  • 举例:
    1
    print(10+2j,-10j)

5.获取数据类型:type()

  • type(数据) – 获取括号中执行的数据对应的类型
  • 举例:
    1
    2
    3
    type1=type(10+2j)
    print(type1)
    print(type(True))

6.判断是否是指定的类型:isinstance()

  • isinstance(数据,类型)–判断指定的数据是否是指定的类型,结果是布尔值
  • 举例:
    1
    2
    3
    4
    5
    result = isinstance(10,bool) #判断数字10是否是布尔类型
    大专栏  operator和if结构s="line">print(result)

    result1 = isinstance(num,int)
    print(result1)

7.类型转换:类型名()

  • 类型名(数据) —- 将指定的数据转换成指定的类型
  • 举例:
    1
    2
    3
    4
    5
    6
    7
    8
    num=12.5
    new_num = int(num)
    print(new_num)
    print(float(100))
    print(float(True))

    print(bool(0)) # 布尔转整型或者浮点型:True-->1/1.0 False-->0/0.0;
    # 整型/浮点型转布尔:非0数字--> True 0/0.0--> False

if分支结构

1.分支结构:只有if语句(if条件语句)

a.if语句

  • 语法:
  • if 条件语句:
    语句块
    
  • if - 固定写法,关键字
  • 条件语句 - 可以是一个值,一个变量,一个运算表达式。不能是赋值语句
  • : - 固定写法,(在python中有冒号的地方一般都会产生缩进)
  • 语句块 – 一行或者多行代码(必须和if保持缩进)
  • 执行过程:先判断条件语句的结果是否为True(如果不是布尔值就看转换为布尔后是否为True)如果为True就执行语句块对应的代码,否则就不执行语句块对应的代码
  • 应用:某个操作或者某段代码是在满足某个条件下才会执行,不满足条件就不执行的时候就使用if条件语句

    1
    2
    3
    4
    5
    6
    7
    if 100:
    print(‘if语句1‘)
    print(‘if语句2‘)
    print(‘语句3‘)

    if 100>10:
    print(‘100大于10‘)
  • 举例:

    1
    2
    3
    4
    #如果age的值大于等于18岁就打印‘成年‘
    age=8
    if age>=18:
    print(‘成年‘)

b.if-else结构和if-elif-else

  • 语法:
    1
    2
    3
    4
    #if 条件语句:
    # 语句块1
    else:
    # 语句块2

else后面不跟条件语句

  • 执行过程:判断条件语句是否为True(如果不是布尔就转换为布尔再看是否为True),如果为True就执行语句块1,否则执行语句块2
  • 应用:满足条件执行某个操作,不满足条件执行另外的操作,就使用if-else结构

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    num = 10
    if num %2 ==0:
    print(‘偶数‘)
    else:
    print(‘奇数‘)


    if num % 2:
    print(‘奇数‘)
    else:
    print(‘偶数‘)
  • 说明:在if-elif-else结构中,elif可以根据情况有多个,else结构根据情况可以省略

  • 语法:

    1
    2
    3
    4
    5
    6
    7
    8
    #if 条件语句1:
    # 代码块1
    #elif 条件语句2:
    # 代码块2
    #elif 条件语句3:
    # 代码块3
    #else:
    # 代码块4
  • 执行过程:先判断条件语句1是否成立,成立执行代码块1,然后整个if语句结束;条件语句1不成立,就判断条件语句2是否成立,成立执行代码块2,然后整个if语句结束;条件语句2不成立,就判断条件语句3是否成立,成立执行代码块3,然后整个if语句结束;如果前面所有的条件语句都不成立,就执行else后面的代码块。

  • 举例:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    score = 90
    if score>90:
    print(‘优秀‘)
    elif 80<=score<=90:
    print(‘良好‘)
    elif 60<=score<=79:
    print(‘及格‘)
    else:
    print(‘不及格‘)

c.if嵌套

  • 在if,elif,else对应的语句中,可以根据情况写一个或者多个其他的if语句结构
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    score=100
    if score>90:
    print(‘优秀‘)
    if score==100:
    print(‘满分‘)
    elif 80<=score<=90:
    print(‘良好‘)
    elif 60<=score<=79:
    print(‘及格‘)
    else:
    print(‘不及格‘)

str

1.print(100>’90’) 数学运算中数据不能和字符串进行

2.input函数,不管输入的内容是什么,结果都是字符串类型的值

1
2
3
age = input(‘年龄:‘)  
age = int(age) #将输入的数据转换成整型数据,然后再赋给变量age
print(age)
2018-11-19



































































































































































































以上是关于operator和if结构的主要内容,如果未能解决你的问题,请参考以下文章

Operator '||' cannot be applied to operands of type 'bool?' and 'bool?'(代码片段

operator和if结构

Kotlin学习之旅解决错误:kotlin.NotImplementedError: An operation is not implemented: Not yet implemented(代码片段

悟空编辑器从技术博客的内容结构指导技术文档的编写

运算类实现 及 GNU Makefile基本结构

如何重构这个 Java 代码片段