python学习
day02
函数:功能
语法:
函数名(参数)
1.字面意思:打印(输出/显示)
2. 作用:将括号中的内容显示在终端中
3. 适用性:显示结果
print(“结果”)
1. 字面意思:输入
2. 作用:将终端中录入的信息输入到程序中
3. 适用性:获取数据
result = input(“提示信息”)
name = input(“请输入姓名:**”)
print(“你好:”+ name)
变量
程序运行在哪里? --> 内存
程序在处理什么? --> 数据
核心价值:在内存中操作数据
语法:
名称 = 数据
名称1,名称2 = 数据1, 数据2
名称1 = 名称2 = 数据
#赋值号= : 将右边给到左边
score = 100
text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FsaV9hbGkxMjM=,size_16,color_FFFFFF,t_70)
score1, score2 = 95, 96
name1 = name2 = “悟空”
例题:
data01 = “苏大强”
data02 = data01
data01 = “大强”
print(data02)# ?
del
引用计数
data01 = 500
data02 = data01
data03 = data02
name02 = name01 = “八戒”
name03 = name02
del name01
name03 = name02 = “悟空”
print(name02, name03)
练习:
变量交换原理:
variabel01 = “八戒”
variabel02 = “沙僧”
temp = variabel01
方法一:
variabel01 = variabel02
variabel02 = temp
python代码交换:
variabel01, variabel02 = variabel02, variabel01
print(variabel01, variabel02)
数据类型
#变量(左边)没有类型,但是关联的对象(右边)有类型
data01 = 100
data01 = “悟空”
print(type(data01))
1. 空None类型 # – 占位
name = None
– 解除与对象的关联
score = 100
score = None
2. 整形(整数)int类型 # – 十进制:逢十进一 0 1 2 3 4 …9 进位 10
data01 = 10
– 二进制:逢二进一 0 1 进位 10 11 100 101 110
data02 = 0b10
– 八进制:逢八进一 0 1 2 …7 进位 10 11
data03 = 0o10
– 十六进制:逢十六进一 0 1 2 …9 a(10)…f(15) 进位 10 11 …
data04 = 0x10
3. 浮点型(小数)float类型
number01 =1.5
number02 =15e-1
number03 = 0.00000000001# 1e-11
print(number03)
4. 字符串str类型
message = “我爱编程”
message = “1.5”
练习:
收银台
获取商品价格
获取购买数量
获取支付金额
显示应该找回多少钱
算法:支付金额 - 价格 × 数量
price = float(input(“请输入商品价格为:”))
number = int(input(“请输入购买数量为:”))
money = float(input(“请输入支付金额为:”))
result = money - price * number
print(“应该找回” + str(result) + “元.”)
类型转换
语法逻辑:
结果 = 类型名(待转类型)
input函数的结果是str类型
str —> int / float
适用性:需要对象字符串进行数学运算 #
注意:待转数据必须"像"转换的类型.
num ber = float(“200.5”)
print(num**ber)
int / float—> str
适用性:需要按照某种格式显示计算后的数值
print(str(10.5))
练习:
时间换算
获取分钟数
获取小时数
获取天数
显示?天?小时?分钟总共是?秒
minute = int(input(“请输入分钟数:”))
hour = int(input(“请输入小时数:”))
day = int(input(“请输入天数:”))
numbre01 = minute * 60
numbre02 = hour * 60 * 60
numbre03 = day * 24 * 60 * 60
result = numbre01 + numbre02 + numbre03
print(str(day) + “天” + str(hour) + “小时” +
str(minute) + “分钟” + “总共是:” + str(result) + “秒”)
运算符
算法运算符
增强运算符
1. + - * / // % **幂运算
number01 = 5
number02 = 2
result = number01 + number02 # 7
print(result)
print(number01 ** 2) # 5 的2 次方: 5 * 5
number01 = “5”
number02 = “2”
result = number01 + number02 # 不是数学运算,而是文字拼接52
print(result)
需求1:整数的个位数是多少? --> 余数
number = 56
print(number % 10) # 6
需求2:70秒是几分钟零几秒? --> 地板除(整数除)
second = 70
print(second // 60) # 分钟
print(second % 60) # 秒
练习:
公式:
距离 = 初速度 * 时间的一般 + 加速度 x 时间的平方
已知:
距离,时间,初速度
计算:
加速度
distance=int(input(“距离为:”))
time=int(input(“时间为:”))
muzzle_velocity=float(input(“初速度为:”))
acceleration=(distance-muzzle_velocity*(time/2))/time**2
print(“加速度为:”+str(acceleration))
古代的秤,一斤是十六两。
获取两,显示几斤零几两。
result = int(input(“获取两:”))
aunit = result / 16
tael = result % 16
print(str(aunit) + “斤” + str(tael) + “两”)
相加内存图:
练习:
获取一个四位数 1234
输出每位相加和 1+2+3+4
方法1:
number = int(input(“输入一个整数:”))
千位 1234- ->1
number01 = number // 1000
百位 1234- ->2
number02 = number // 100 % 10
十位 1234- ->3
number03 = number // 10 % 10
个位 1234- ->4
number04 = number % 10
print(number01 + number02 + number03 + number04)
方法2
number = int(input(“请输入整数:”)
个位 1234- ->4
result = number % 10
十位 1234- ->3
result += number // 10 % 10
百位 1234- ->2
result += number // 100 % 10
千位 1234 --> 1
result += number // 1000
print(result)
内存图:
2. 增强运算符 += -= *= /= //= %= **
data01 = 6
运算后的结果,不影响变量自身
# print(data01 + 1)# 7
# print(data01)# ? 6
data01 = 6
# 运算后的结果,又赋值给了变量自身.
data01 += 1 # data01 = data01 + 1
print(data01)# 7
练习:
获取一个年份
如果是润年输出True,否则输出false
条件:
1.年份能被4整除但是不能被100整除
2.年份能被400整除
year = int(input(“请输入一个年份:”))
print(year % 4 == 0 and year % 100 != 0 or year % 400 == 0)
bool 运算
bool类型
比较运算符
逻辑运算符
1. 布尔 bool 类型
命题:带有判断性质的陈述句
# 我是一个帅哥
# 真 / 对 / 成立 True
# 假 / 错 / 不成立 False
# 类型转换: bool(数据) 有值true 没值false
print(bool(0)) # False
print(bool(0.0)) # False
print(bool("")) # False
print(bool(None)) # False
# 2. > < >= <= 等于== 不等于!=
# 比较数值大小,结果是bool类型
data01 = 50
data02 = “50”
print(data01 == data02) # false
print(50 != “50”) # false
3. 与and 或 非
# 判断多个命题关系
# 与and 现象:一假俱假 并且关系(必须满足所有条件)
print(True and True) # True
print(False and True) # False
print(True and False) # False
print(False and False) # False
# 或or 现象:一真俱真 或者关系(满足一个就行)
print(True or True) # True
print(False or True) # True
print(True or False) # True
print(False or False) # False
# 非 取反
print(not True) # False
短路逻辑
一但结果确定,后面的语句将不再执行。
价值:尽量将耗时的判断放在后面
# False and ?
result = 1 > 2 and input(“请输入”) == “a”
# True or ?
result = 1 < 2 or input(“请输入”) == “a”
# 终端中是否有"请输入"