Day2
Day1回顾:
- 注释
- 变量
- 输入和输出
- 格式化输出:format和f字符串,前者对应即可,后者需要写
- type方法:显示程序输出结果的类型
- 运算符:数学运算,逻辑运算
02_运算符
1. 比较运算符
1.>、< 、==(等等于)、!=(不等于)
python中比较大小都是统一类型数据之间比较,比较大小得到的结果为布尔值。
问题:为什么python能够比较大小?
print(3 > 4)
运行结果:
False
因为python使用的编码值叫万国码:unicode,其是ASCII编码的拓展。
- 数字0-9对应的十进制编码值:48-57
- 字母A-Z对应的十进制编码值:65-90
- 字母a-z对应的十进制编码值:97-122
print('A' < 'a')
运行结果:
True
2.>= 、<= (符合其中一个条件即可)
print(2 >= 2)
运行结果:
True
判断年份是否是闰年:
year = 2004
result = (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)
print(result)
运行结果:
True
2.赋值运算符
先算等号右边,再给等号左边赋值
= 、+=、-=、*=、/=、//=、%=、**=
a = 10
a += 5
# a = a + 5
a **= 2
# a = a ** 2
print(a)
a %= 2
print(a)
运行结果:
225
1
3.复合赋值运算符
运算符优先级:
- 先算小括号整体
- 算数运算符:** 大于 *、/、%;// 大于 +、-
- 算数元素符 > 比较运算符 > 逻辑运算符 > 赋值运算符
a = 10
a *= a + 3
# a = a * (a + 3)
print(a)
运行结果:
130
练习1:华氏度和温度的转换:C = (F - 32)/1.8
F = 100
C = (F - 32)/1.8
print(f'华氏度{F}等于摄氏度{C}')
运行结果:
华氏度100等于摄氏度37.77777777777778
练习2:根据指定的圆的半径,计算圆的周长和面积。
r = 5
pi = 3.14
c = 2 * r * pi
print(f'半径为{r}的圆的周长为{c}')
s = r**2 * pi
print(f'半径为{r}的圆的面积为{s}')
运行结果:
半径为5的圆的周长为31.400000000000002
半径为5的圆的面积为78.5
03_简单数据类型转换
数字和布尔值得数据类型转换
1.布尔值转换
所有的数据都可以转换为布尔值(bool)
a.0转换为False,非0全是True
b.所有的空值对象全是False
print(bool(0),bool(1),bool(-1))
print(bool(''),bool([]),bool({}),bool(None))
运行结果:
False True True
False False False False
2.数字转换
- 数型 —— int()
a.布尔型可以转换为整型:False —— 0,True —— 1
b.浮点型转换为整型:向小取整
c.去掉引号是一个整数的字符串可以转换成整型
print(int(bool(100)))
print(int(0.1))
print(int(.1))
print(int(1.))
# print(int('1.0')) --> invalid literal for int() with base 10: '1.0'
print(int('1'))
运行结果:
1
0
0
1
1
- 浮点型 —— float()
a.整型转浮点型
b.去掉引号是数字的字符串可以转成浮点型
c.布尔值可以转浮点型 —— False:0, True:1.0
print(float(1))
print(float('.9'))
print(float('9.'))
print(float('9.9'))
运行结果:
1.0
0.9
9.0
9.9
bool()、 int()、 float()、 str()、 list()等 -->构造器语法
year = int(input('请输入一个年份:'))
print(year,type(year))
运行结果:(输入的为2022)
请输入一个年份:2022
2022 <class ‘int’>
分支结构
分支结构关键词:if,else,elif
1.单分支结构:if,else
单分支结构语法:
if 条件:
代码段1
else:
代码段2
缩进:一般把缩进看做四个空格,一个程序的缩进必须保持一致。出现缩进的代码上一行结尾一定是冒号。
练习1:账号密码登录
username = input('请输入用户名:')
password = input('请输入密码:')
if username == 'admin' and password == '123456':
print('登录成功')
else:
print('登录失败')
运行结果:
输入用户名:admin
请输入密码:123456
登录成功
( 或)
请输入用户名:admi
请输入密码:654123
登录失败
练习2:判断一个年份是否是闰年
year = int(input('请输入您认为是闰年的年份:'))
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
print(f'{year}年是闰年,你真幸运!')
else:
print(f'{year}年不是闰年,再试试吧!')
运行结果:(输入的为2022)
请输入您认为是闰年的年份:2022
2022年不是闰年,再试试吧!
2.多分支结构
多分支结构语法:
if 条件1:
代码段1
elif 条件2:
代码段2
…
else:
代码段n
练习:判断一个年份是否是闰年
year = int(input('请输入您认为是闰年的年份:'))
if year % 4 == 0 and year % 100 != 0:
print(f'{year}年是闰年,你真幸运!')
elif year % 400 == 0:
print(f'{year}年是闰年,你真幸运!')
else:
print(f'{year}年不是闰年,再试试吧!')
运行结果:(输入的为2022)
请输入您认为是闰年的年份:2022
2022年不是闰年,再试试吧!
3.嵌套分支
嵌套分支语法:
if 条件1:
代码段
if 条件:
…
else:
代码段
练习: 判断一个数字是否是偶数,如果是偶数,再判断其是否是三的倍数。
随机模块:random
from random import randint
num = randint(0, 100)
print(num)
if num % 2 == 0:
print('偶数')
if num % 3 == 0:
print('是3的倍数')
else:
print('奇数')
运行结果:
43
奇数
4.三目运算
三目运算符语法:
变量 = ‘结果1’ if 条件 else ‘结果2’
条件成立,结果为结果1,反之为结果2
练习:判断一个人是否成年
age = 18
result = '成年' if age >= 18 else '未成年'
print(result)
运行结果:
成年
Day2 over!