DAY3运算符和if

record

1.注释

"""
"""

2.标识符

是由数字、字母、下划线组成,数字不开头。

3.缩进

4.关键字

True, False, if, else, elif, and , or , not

5.数据类型

int, float, bool, str, list, tuple, dict, set, function ...
18, 90, 33, 23, 19.34, -19.0, True, False, '数', 'abc', '12'

6.print(), input()

num = 100
print(num, 12.9, 10+20*2)

num2 = input('请输入数字:')
print(num2)  

7.变量

变量名 = 值

a = 100
a = num
a = 10 * 2
a = num + 2
print(a)   

a = b = c = d = 22
a1,b1,c2 = 1, 2, 3

8.数学运算符:+,-,,/,//,%,*

operator

运算符: 数学运算符、比较运算符、逻辑运算符、赋值运算符

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

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

print(100 > 10)      # True 
print(100 > 1000)    # False
print(100 < 10)      # False
print(100 < 1000)    # True
print(100 == 100)    # True
print(100 == 10)     # False
print(100 != 100)    # False
print(100 != 10)     # True 
print(100 >= 100)    # True
print(100 >= 1000)   # False
print(10 <= 10)      # True

将运算结果赋值给变量

result1 = 10 >= 1
result2 = 10 + 100
print(result1, result2)   

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

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

a.逻辑与运算: and

运算规则: 两个都为True,结果才是True; 只要有一个是False,结果就是False(相当于生活中的并且)
True and True == True
True and False == False
False and True == False
False and Fasle == False
应用: 要求多个条件同时满足的时候,使用and将多个条件连接在一起

score = 90
age = 20 
# 进入公司的条件: 分数不低于90分并且年龄大于25岁
print(score >= 90 and age > 25)

判断num是否在0到100之间

num = 10
print(0<=num<=100)           # 写法1
print(num>=0 and num<=100)   # 写法2

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 = 98    # 操评分
#获取奖学金的条件: 学习成绩大于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)

num2 = 10
num2 *= 2
print(num2)

num2 /= 4
print(num2)

5.运算符的优先级

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

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

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

print(10 and 3)
print(10 or 30)

number

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

1. int(整型)

整型包含了数字中所有的整数,包括正整数、负整数和0; 例如: 0, 10, -100, +28

print(10, -100, +200, 0)

2.float(浮点型)

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

print(0.0, 0.12, -3.14)
print(2e3)       # 2e3 = 2*10**3 = 2000
print(2e-3)      # 2e-3 = 2*10**(-3) = 0.002   2**3   

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

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

3.bool(布尔)

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

print(True == 1)  
print(False == 0)  

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(数据,类型) - 判断指定的数据是否是指定的类型,结果是布尔值

result = isinstance(10, float)    # 判断数字10是否是float  
print(result)

result = isinstance(num, float)
print(result)   

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

类型名(数据) - 将指定的数据转换成指定的类型

num = 12.5
new_num = int(num)
print(new_num)

print(float(100))

print(float(True))
 
print(bool(0.0))     # 布尔转整型或者浮点型: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.8923
new_num = int(price)
print(new_num)   

if

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

1.if结构

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

if False:
    print('if语句1')
    print('if语句2')

if 100 > 10:
    print('100大于10')

print('语句3')

练习: 如果age的值大于等于18岁就打印'成年'

age = 28
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:       
    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语句结束;条件语句2不成立,就判断条件语句3是否成立,成立执行代码块3,然后整个if语句结束;如果前面所有的条件语句都不成立,就执行else后面的代码块

score = 75
"""
score > 90    --> 优秀  
80<= score <= 90 --> 良好
60<=score<=79  ---> 及格
socre<60   --> 不及格 
"""
if score > 90:
    print('优秀')
elif score >= 80:
    print('良好')
elif score >= 60:
    print('及格')
else:
    print('不及格')    

4.if嵌套

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

score = 85
if score > 90:
    print('优秀')
    if score == 100:
        print('满分')
elif score < 90 and 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('奇数')


if num % 2 == 1:
    print('奇数')
else:
    print('偶数')
    if num % 4 == 0:
        print('4的倍数')

str

print(100 + 34)
# print(100 + '20')
# print(100 > '80')

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

age = int(input('年龄:'))   # 将输入的数据转换成整型数据,然后再赋给变量age

print(type(age))

# age = int(age)

if age >= 18:
    print('成年')
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,723评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,003评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,512评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,825评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,874评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,841评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,812评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,582评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,033评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,309评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,450评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,158评论 5 341
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,789评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,409评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,609评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,440评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,357评论 2 352

推荐阅读更多精彩内容