打印字符串
"""
根据下列文字,提取变量,使用字符串格式化打印信息
湖北确诊67802人,治愈63326人,治愈率0.99
"""
region = "湖南"
confirmed = 67802
cure = 63326
proportion = 0.99
print("%s确诊%s人,治愈%s人,治愈率%.2f%%" % (region, confirmed, cure, proportion * 100))
秒转分
"""
70秒是01分零10秒
"""
s1 = 70
m = s1 // 60
s2 = s1 % 60
print("%s秒时%.2d分零%.2d秒" % (s1, m, s2))
字符串切片
"""
字符串: content = "我是京师监狱狱长金海。"
打印第一个字符、打印最后一个字符、打印中间字符
打印字前三个符、打印后三个字符
命题:金海在字符串content中
命题:京师监狱不在字符串content中
通过切片打印“京师监狱狱长”
通过切片打印“长狱狱监师京”
通过切片打印“我师狱海”
倒序打印字符
"""
content = "我是京师监狱狱长金海"
content_len = len(content)
# 第一个字符
print(content[0])
# 最后一个字符
print(content[-1])
# 打印中间字符
print(content[content_len // 2])
# 判断金海在字符串content中
print("金海" in content)
# 判断京师监狱不在字符串content中
print("京师监狱" not in content)
# 通过切片打印"京师监狱狱长"
print(content[2:-2])
# 通过切片打印"长狱狱监师京"
print(content[-3:1:-1])
# 通过切片打印"我师狱海"
print(content[::3])
# 倒序打印字符 海金长狱狱监师京是我
print(content[::-1])
列表练习
"""
列表练习
"""
# 练习1:创建地区列表、新增列表、现有列表,累计列表,死亡列表分别存储3行(台湾、山西、浙江)信息
list_region = ["台湾", "江西", "浙江"]
list_new = [16, 182, 2]
list_now = [2339, 859, 505]
list_total = [16931, 1573, 2008]
list_die = [850, 3, 1]
# 练习2:
# 向以上四个列表追加数据第4行(广西)信息
list_region.append("广西")
list_new.append(6)
list_now.append(256)
list_total.append(599)
list_die.append(2)
# 在第1个位置插入第5行(香港)信息
list_region.insert(0, "香港")
list_new.insert(0, 9)
list_now.insert(0, 196)
list_total.insert(0, 12598)
list_die.insert(0, 213)
# 练习3:
# 在地区列表读取前两个元素
print(list_region[:2])
# 在新增列表读取后三个元素
print(list_new[-3:])
# 将现有列表所有元素设置为0
list_now[:] = [0] * len(list_now)
# 打印台湾疫情信息(xx地区新增xx人现有xx人)
print("%s地区新增%s人现有%s人" % (list_region[1], list_new[1], list_now[1]))
# 练习4:
# 在地区列表中删除“浙江”
list_region.remove("浙江")
# 在新增列表中删除第1个元素
# 在现有列表中删除前2个元素
# 在死亡列表中删除全部元素
del list_new[0], list_now[:2], list_die[:]
# 练习5:
# 打印地区列表元素(一行一个)
for item in list_region:
print(item)
# 新增列表元素累加2
for i in range(len(list_new)):
list_new[i] += 2
# 打印累计列表小于1000的元素
for item in list_total:
if item < 1000:
print(item)
# 累计列表小于2000的元素设置为0
for i in range(len(list_total)):
if list_total[i] < 2000:
list_total[i] = 0
列表练习2
"""
练习5:
八大行星:"水星" "金星" "地球" "火星" "木星" "土星" "天王星" "海王星"
-- 创建列表存储4个行星:“水星” "金星" "火星" "木星"
-- 插入"地球"、追加"土星" "天王星" "海王星"
-- 打印距离太阳最近、最远的行星(第一个和最后一个元素)
-- 打印太阳到地球之间的行星(前两个行星)
-- 删除"海王星",删除第四个行星
-- 打印所有行星(一行一个)
"""
# 创建列表存储4个行星:“水星” "金星" "火星" "木星"
list_planet = ["水星", "金星", "火星", "木星"]
# 插入"地球"
list_planet.insert(2, "地球")
# 追加"土星" "天王星" "海王星"
# list_planet.append("土星")
# list_planet.append("天王星")
# list_planet.append("海王星")
list_planet += ["土星", "天王星", "海王星"]
# 打印距离太阳最近、最远的行星(第一个和最后一个元素)
print(list_planet[0])
print(list_planet[-1])
# 打印太阳到地球之间的行星(前两个行星)
print(list_planet[0:2])
# 删除"海王星"
list_planet.remove("海王星")
# 删除第四个行星
del list_planet[3]
# 打印所有行星(一行一个)
for item in list_planet:
print(item)
字符串运算
"""
根据列表中的数字,重复生成*.
list01 = [1, 2, 3, 4, 5, 4, 3, 2, 1]
效果:
*
**
***
****
*****
****
***
**
*
"""
list_number = [1, 2, 3, 4, 5, 4, 3, 2, 1]
stars = "*"
for i in range(len(list_number)):
print(stars * list_number[i])
列表累乘
"""
将列表中的数字累乘
list01 = [5, 1, 4, 6, 7, 4, 6, 8, 5]
结果:806400
"""
list_number = [5, 1, 4, 6, 7, 4, 6, 8, 5]
product = 1
for item in list_number:
product *= item
print(product)
平均值,最大值,最小值
"""
在终端中录入5个疫情省份的确诊人数
最后打印最大值、最小值、平均值.
(使用内建函数实现)
"""
list_diagnosis = []
for i in range(5):
list_diagnosis.append(int(input("请输入第%s个疫情省份的确诊人数:" % (i + 1))))
# 最大值
print(max(list_diagnosis))
# 最小值
print(min(list_diagnosis))
# 平均
print(sum(list_diagnosis) // len(list_diagnosis))
小球从高处落下弹起,位移距离
"""
一个小球从100m高度落下,每次弹回原高度一半.
计算:
-- 总共弹起多少次?(最小弹起高度0.01m) 13 次
-- 全过程总共移动多少米?
数据:高度 次数 距离
处理:高度/=2 次数+=1 距离+=?
速记手册
https://www.processon.com/view/link/6389c900e0b34d0711c0555f
"""
height = 100
count = 0
distance = height
# height 是下落是的高度
# 0.01 是上升的高度
# while height > 0.01:
# height / 2 是上升高度
while height / 2 > 0.01:
# 重复
height /= 2
count += 1
distance += height * 2 # 累加起落距离
print("第%s次弹起来的高度是%s" % (count, height))
print("总共弹起来%s次" % count)
print("总共移动%.2f米" % distance)