第一章
1.海洋单位距离换算
kilometre = float(input('请输入公里数: '))
nautical_mile = (kilometre / 1.852)
print('换算后的海里数为:', nautical_mile, "海里")
2.打印名片
print('-' * 40)
print(' 传智播客教育科技股份有限公司')
print(' 张先生 主管')
print('-' * 40)
print(' 手机18688888888')
print(' 地址:北京昌平区建材城西路金燕龙办公楼')
print('-' * 40)
第二章
实例1:根据身高体重计算BMI指数
height = float(input('请输入您的身高(m):'))
weight = float(input('请输入您的体重(kg):'))
BMI = weight / (height * height)
print('您的 BMI 值为:', BMI)
实例2:模拟超市收银抹零行为
total_money = 36.15 + 23.01 + 25.12 # 累加总计金额
print('商品总金额为:', total_money, '元')
pay_money = int(total_money) # 进行抹零处理
print('实收金额为:', pay_money, '元')
实例3:文本进度条
import time # 导入 time 模块
incomplete_sign = 50 # 下载总量
print('=' * 23 + '开始下载' + '=' * 25)
for i in range(incomplete_sign + 1):
completed = "*" * i # 已完成下载量
incomplete = "." * (incomplete_sign - i) # 未完成下载量
percentage = (i / incomplete_sign) * 100 # 百分比
print("\r{:.0f}%[{}{}]".format(percentage, completed, incomplete),
end="")
time.sleep(0.5)
print("\n" + '=' * 23 + '下载完成' + '=' * 25)
实例4:敏感词替换
sensitive_character = '你好' # 敏感词库
test_sentence = input('请输入一段话:')
for line in sensitive_character: # 遍历输入的字符是存在敏感词库中
if line in test_sentence: # 判断是否包含敏感词
test_sentence = test_sentence.replace(line, '*')
print(test_sentence)
实例5:判断水仙花数
num3 = int(input("请输入一个三位数:"))
hundreds_place = int(num3 // 100 % 10) # 百位
ten_place = int(num3 / 10 % 10) # 十位
one_place = int(num3 % 10) # 个位
if hundreds_place ** 3 + ten_place ** 3 + one_place ** 3 == num3:
print(f"{num3}是水仙花数")
else:
print(f"{num3}不是水仙花数")
实例6:找出最大数
num_one = int(input("请输入一个整数:"))
num_two = int(input("请输入一个整数:"))
num_three = int(input("请输入一个整数:"))
if num_one > num_two:
if num_one > num_three:
print("最大的数是:", num_one)
else:
print("最大的数是:", num_three)
else:
if num_two > num_three:
print("最大的数是:", num_two)
else:
print("最大的数是:", num_three)
实例7:计算三角形面积
one_len = float(input('输入三角形第一边长: '))
two_len = float(input('输入三角形第二边长: '))
three_len = float(input('输入三角形第三边长: '))
# 计算半周长
c = (one_len + two_len + three_len) / 2
# 计算面积
s = (c * (c - one_len) * (c - two_len) * (c - three_len)) ** 0.5
print('三角形面积为%0.1f' % s)
实例8:模拟下载操作
select = input('是否需要下载?(y/n):')
if select == 'y' or select == 'Y':
print('----正在请求下载----')
elif select == 'n' or select == 'N':
print('----3 秒后将返回首页----')
elif select != 'y' and 'n':
print('输入有误,请重新选择')
第三章
实例1:判断4位回文数
palindrome_num = int(input("请输入一个四位数:"))
single = int(palindrome_num / 1000)
ten = int(palindrome_num / 100 % 10)
hundred = int(palindrome_num / 10 % 10)
ths = int(palindrome_num % 10)
reverse_order = ths * 1000 + hundred * 100 + ten * 10 + single
if palindrome_num == reverse_order:
print(palindrome_num, "是回文数")
else:
print(palindrome_num, "不是回文数")
实例2:奖金发放
profit = float(input("请输入当月利润,单位为元:"))
bonus = 0
if profit <= 100000:
bonus = 10 * 0.1
elif 100000 < profit <= 200000:
bonus = 100000 * 0.1 + (profit - 100000) * 0.075
elif 200000 < profit <= 400000:
bonus = round(100000 * 0.1 + 100000 * 0.075 +
(profit - 200000) * 0.05)
elif 400000 < profit <= 600000:
bonus = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + (profit - 400000) * 0.03
elif 600000 < profit <= 1000000:
bonus = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + \
200000 * 0.03 + (profit - 600000) * 0.015
elif profit > 1000000:
bonus = 100000 * 0.1 + 100000 * 0.075 + \
200000 * 0.05 + 200000 * 0.03 + \
400000 * 0.015 + (profit - 1000000) * 0.015
print('当月应发放奖金总数为%s 元' % bonus)
实例3:根据身高体重计算某个人的BMI值
height = float(input('请输入您的身高(m):'))
weight = float(input('请输入您的体重(kg):'))
BMI = weight / (height * height)
print('您的 BMI 值为%.2f' % BMI)
if BMI < 18.5:
print('体重过轻')
elif 18.5 <= BMI <= 23.9:
print('体重正常')
elif 24 <= BMI <= 27:
print('体重过重')
elif 28 <= BMI <= 32:
print('体重肥胖')
else:
print('非常肥胖')
实例4:模拟乘客进站流程
ticket = 1 # 用 1 代表有车票
knife_length = 9 # 刀子的长度,单位为 cm
if ticket == 1:
print("有车票,可以进站")
if knife_length < 10:
print("通过安检")
print("终于可以见到 Ta 了,美滋滋~~~")
else:
print("没有通过安检")
print("刀子的长度超过规定,等待警察处理...")
else:
print("没有车票,不能进站")
print("亲爱的,那就下次见了,一票难求啊")
实例5:快递计费系统
weight = float(input("请输入快递重量:"))
print('编号 01:华东地区 编号 02:华南地区 编号 03:华北地区')
place = input("请输入地区编号:")
if weight <= 2:
if place == '01':
print('快递费为 13 元')
elif place == '02':
print('快递费 12 元')
elif place == '03':
print('快递费 14 元')
else:
excess_weight = weight - 2
if place == '01':
many = excess_weight * 3 + 13
print('快递费为%.1f 元' % many)
elif place == '02':
many = excess_weight * 2 + 12
print('快递费为%.1f 元' % many)
elif place == '03':
many = excess_weight * 4 + 14
print('快递费为%.1f 元' % many)
实例6:数据加密
raw_data = input('请输入密码:')
num_asc = 0 # ASCII 累加值
str_pwd = '' # ASCII 拼接值
for i in raw_data:
ascii_val = ord(i) # 1.获取每个元素的 ASCII 值
num_asc = ascii_val + num_asc # 2.对遍历的 ASCII 值进行累加操作
str_pwd += str(ascii_val) # 3.拼接操作
reversal_num = str_pwd[::-1] # 4.将拼接的 ASCII 值倒序排列
encryption_num = int(reversal_num) + num_asc
print(f"加密后的密码为:{encryption_num}")
实例7:逢七拍手游戏
for i in range(1, 101):
# 把 i 转成字符串,使用 find 方法(字符串中不包含时,返回-1)
include = str(i).find("7")
# 判断条件:既不包含 7,也不是 7 的倍数
if include == -1 and int(i) % 7 != 0:
# 输出,去掉了换行符,加了、
print(i, end="、")
# 如果包含 7 输出*
elif include != -1 or int(i) % 7 == 0:
print("*", end='、')
实例8:登录系统账号检测
count = 0 # 用于记录用户错误次数
while count < 3:
user = input("请输入您的账号:")
pwd = input("请输入您的密码:")
if user == 'admin' and pwd == '123': # 进行账号密码比对
print('登录成功')
break
else:
print("用户名或密码错误")
count += 1 # 初始变量值自增 1
if count == 3:
print("输入错误次数过多,请稍后再试")
else:
print(f"您还有{3 - count}次机会") # 显示剩余次数
实例9:九九乘法表
# 打印九九乘法表
for i in range(1, 10):
for j in range(1, i+1):
print(f'{j}*{i}={j*i}', end='\t')
print()
实例10:猜数游戏
import random
print("猜数字游戏,输入一个 1-100 以内的数字")
random_num = random.randint(1, 100)
# print(random_num) # 打开注释可查看生成的随机数
for frequency in range(1, 6):
number = input("请输入一个数字:")
if number.isdigit() is False:
print('请输入一个正确的数字')
elif int(number) < 0 or int(number) > 100:
print("请输入 1-100 范围的数字")
elif random_num == int(number):
print(f"恭喜你用了{frequency}次猜对了")
break
elif random_num > int(number):
print("很遗憾,你猜小了")
else:
print("很遗憾,你猜大了")
if frequency == 5:
print(f"很遗憾,{frequency}次机会已用尽,游戏结束,答案为{random_num}")