day-3运算符 / number / if / str

一.operator

1. 运算符:数据运算符、比较运算符、逻辑运算符、赋值运算符

2. 比较运算符: > , < , ==(等于) , != (不等于), >= , <=

  • 所有比较运算符的结果都是布尔值。

    print(100 > 10)     #True
    print(100 >1000)    #False
    print(100 == 100)   #True
    print(100 == 10)    #False
    print(100 != 100)   #False
    print(100 >= 100)   #True
    print(10 <= 10)     #True
  • 将运算结果赋值给变量
    result1 = 10 >= 1
    result2= 10 + 100
    print(result1,result2)   #True 110

3.逻辑运算符:and (并且,操作两个条件),or(或者,操作两个条件) ,not(否定,一个数据操作)

  • 所有逻辑运算符的结果都是布尔值,操作对象也必须是布尔值
  • a. 逻辑与运算 :and

运算规则:两个都为True,结果才是True,只要有一个是False,结果就是False。(相当于生活中的并且)

"""
True and True = True
True and False = False
False and True = False
False and False = False
"""
---
-  应用:要多个条件同时满足的时候,使用and将多个条件连在一起
score = 90
age = 20
print(score>=90 and age>25)  #False

 判断num是否在0到100之间
num = 10
print(0<= num <=100)        #比较运算符:写法一:
print(num>=0 and num<=100)  #写法二
  • b.逻辑运算或运算: or

运算规则:两个都为False,结果才是False;只要有一个是True,结果就是True
相当于生活中的或者
"""

True or True  == True
True or False == True
False or True == True
False or False == False
"""
  • 应用:要求多个条件中至少有一个条件满足,使用or将多个条件连接在一起。

score1 = 80 #学习成绩

score2 = 90 #操评分

获取奖学金的条件:学习成绩大于90分或者操评分大于95分

print('是否获得奖学金:',score1>90 or score2>95)

  • c.逻辑非运算:not

运算规则:True 变False ,False 变 True
""

not True == False
not False == True

''''''

  • 应用: 对一个条件进行否定

进入网吧的条件:年龄不小于18

age = 9

print('是否能进入网吧:', not age < 18)     #写法一

print('是否能进入网吧:', age >= 18)     #写法二
  • 练习:获取奖学金的条件:学习成绩大于90分并且操评分不低于80分,或者操评分不低于95分,并且学习成绩大于75分。
score1 = 90  #学习成绩
score2 = 60  #操评分
print('能否获得奖学金:',(score1> 90 and score2>= 80) or (score2>=95 and score1 > 75 ))

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

所有的赋值运算符左边要求都必须是变量;复合赋值运算符左边除了是变量以外,这个变量还必须已经被赋过值。
a. = : 直接将=右边的值赋给左边
num = 100
num = 12 * 2
b.+=,
'变量 += 值 ' 相当于,' 变量 = 变量+ 值' 赋值过程:将原变量中的数据取出来,和后面的值相加,然后将最新的结果赋给这个变量

num2 = 10
num2 += 2   #num2 = num2 + 2   num2 = 10 + 2   num2 = 12
print(num2)

num3 = 5
num3 **=2
print(num3)

num4 = 245
num4 //=3
print(num4)

5.运算符的优先级

数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符
先算优先级高的,再算优先级低的。如果右括号,先算括号里面的

num = 10 
num += 12 * 3
print(num)   #46 

注意:不要让数字参与逻辑运算,没有任何意义。



二. number

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

  • 1.int (整型)

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

  • 2.float (浮点型)

  • 浮点型包含数字中所有的小数;例如:0.0, 0.12, -3.14
  • 支持科学计数法:2e3=2 * 10**3
  print(0.0, 0.12,-3.14,2e3)     
  print(2e-3)                   #0.002

补充:可以利用**来进行开方运算:

  print(3**2)   
  print(9**(1/2))   #9开平方
  print(8**(1/3))   #8开三次方

  • 3.bool (布尔)

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

  print(False == 0)        #True  

  • 4.complex(复数) --了解

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

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

    type(数据) -获取括号中执行的数据的类型

type1 = type(10+2j)
print(type1)
print(type(True))
num = 3e4
print(type(num))
  • 6.判断是否是指定的类型: isinstance()

    isinstance(数据,类型) - 判断指定的数据是否是指定的类型,结果是个布尔值。
print(isinstance('abc',str))     #True
result = isinstance(10,float)  # 判断数字10是否是float
print(result)           #False
result = isinstance(num,float)  
print(result)           #False
  • 7.类型转换:类型名()

    类型名(数据) - 将指定的数据转换成指定的类型
num = 12.5 
new_num = int(num)
print(new_num)
print(float(100))
  • 布尔转整型或浮点型: True - 1/ 1.0 , False- 0/ 0.0
  • 整型/浮点型转布尔:非0数字- True, 0/0.0- False
price = 100
new_num = float(price)
print(new_num) 
price = 123.345
new_num = int(price)
print(new_num)


四. if 分之结构

分之结构: python只有if语句 (if条件语句)

  age = 18 
  print('成年')
  print('未成年')
  • 1.if语句

    a. 语法
    """
    if 条件语句:
    语句块
    """
    b.说明
    """
    if - 固定写法,是关键字
    条件语句 - 可以是一个值,一个变量,一个运算表达式等,不能是赋值语句
    : -固定写法,(在Python中有冒号的地方一般都会产生缩进,一般用Tab)
语句块: - 一行或者多行代码(必须与if保持一个缩进);条件语句的结果为True才会执行

c.执行过程:先判断条件语句的结果是否为True(如果不是布尔值就看转换为布尔后是否为True)
如果为True就执行语句块对应的代码,否则就不执行语句块对应的代码。

d.应用:某个操作或者某段代码是在满足某个条件下才会执行的,不满足就不执行的时候使用if条件语句。

if 0: ( 指的是 if False)
    print('if语句1')
    print('if语句2')
if 110 > 0:
    print('100大于10')
print('语句3')
 如果age的值大于等于18岁就打印''成年'
age = 78
if age >= 18:
    print('成年')
  • 2.if-else

a.语法:

if 条件语句:

语句块1

else:

语句块2

b.执行过程:判断条件语句是否为True(如果不是布尔就转换为布尔后是否为True)

     如果为True就执行语句块1,否则执行语句块2
 c.应用,满足条件执行某个操作,不满足条件执行另外的操作,就使用'if-else'结构。
    num = 10
    if num % 2 == 0:
        print('偶数')
    else:
        print('奇数')
 
    if num % 2:   #if num % 2 !=0: 相当于if True:
        print('奇数')
    else:
        print('偶数')
 
     如果age的值大于等于18岁打印'成年',否则打印'未成年'
    age = 10 
    if age >= 18:
        print('已成年')
    else:
        print('未成年')
        print('不能进网吧')
  • 3. if-elif-else结构

    a.语法:
    """
    if 条件语句1:
    代码块1
    elif 条件语句2:
    代码块2
    elif 条件语句3:
    代码块3
    else:
    代码块4
    """
    b.说明:在if-elif-else结构中,elif可以根据情况有多个,else,根据情况可省略。
    c.执行过程:先判断条件语句1是否成立,成立执行代码块1,然后整个if语句结束。
    条件语句1不成立的时候,就判断条件语句2是否成立,成立则执行代码块2,然后整个if语句结束。
    条件语句1不成立的时候,就判断条件语句3是否成立,成立则执行代码块3,然后整个if语句结束。
    如果前面的条件语句都不成立,就执行else后面的代码块。如果没有else则不执行了。

score = 100

"""

score > 90 --> 优秀

80<= score <= 90 -->良好

60<= score <= 79 -->及格

score< 60 --> 不及格

if score > 90:

    print('优秀')

elif score >=80:  

    print('良好')

elif score >=60:

    print('及格')

else:

    print('不及格')
  • 4.if 嵌套

在if,elif,else对应的语句块中,可以看情况写一个或者多个其他的if语句结构。

if score > 90:

    print('优秀')
    if score ==100:
        print('满分')

elif score >=80:  

    print('良好')

elif score >=60:

    print('及格')

else:

    print('不及格')

判断一个数是否是偶数,如果是打印'偶数',否则打印'奇数',如果这个数能被4整除,则打印'4的倍数'

num = 10

if num % 2 == 0:

    print('偶数')

    if num %4==0:
        print('4的倍数')

else:

    print('奇数')


  • 5. str

print(100 + 34)

 print(100 + '20')

 print(100 > "80")
input函数,不管输入的内容是什么,结果都是字符串类型的值
age = int(input('年龄:')) # 将输入的数据转换成整型的数据,然后再赋给变量age

print(type(age))

 age = int(age)

if age >=10:

    print('成年')

你可能感兴趣的:(day-3运算符 / number / if / str)