Day2

Day1回顾:

  1. 注释
  2. 变量
  3. 输入和输出
  4. 格式化输出:format和f字符串,前者对应即可,后者需要写
  5. type方法:显示程序输出结果的类型
  6. 运算符:数学运算,逻辑运算

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.复合赋值运算符

运算符优先级:

  1. 先算小括号整体
  2. 算数运算符:** 大于 *、/、%;// 大于 +、-
  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.数字转换
  1. 数型 —— 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

  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!