Python 程序设计开发案例教程(一)

第一章

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}")
  • 6
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值