python学习-基础案例

  • Post category:Python

案例一 打印排序好的数据

#列表方式
lst_name=['林黛玉','薛宝钗','贾元春','贾探春','史湘云']
lst_sign=['①','②','③','④','⑤']
for i in range(5):
    print(lst_sign[i],lst_name[i])

print('--------------------------------------------------------')
#字典方式
d={'①':'林黛玉','②':'薛宝钗','③':'贾元春','④':'贾探春','⑤':'史湘云'}
for key in d:
    print(key,d[key])
#zip方式
print('zip-----------------------------------------------------')
for key,val in zip(lst_sign,lst_name):
    print(key,val)

输出结果:

① 林黛玉
② 薛宝钗
③ 贾元春
④ 贾探春
⑤ 史湘云
--------------------------------------------------------
① 林黛玉
② 薛宝钗
③ 贾元春
④ 贾探春
⑤ 史湘云
zip-----------------------------------------------------
① 林黛玉
② 薛宝钗
③ 贾元春
④ 贾探春
⑤ 史湘云

案例二 输出带颜色信息

#格式: 设置颜色开始 :\033[显示方式;前景色;背景色m
#详见:https://www.cnblogs.com/LY-C/p/9112720.html
print('\033[0;35m\t\t图书音像勋章\033[m')
print('\033[0;35m-------------------------------------\033[m')
print('\033[0;32m❀图书音像勋章\t\t✪专享活动\033[m')
print('\033[0;34m❤专属优惠\t\t☎优惠提醒\033[m')
print('\033[0;35m-------------------------------------\033[m')

参考地址:https://www.cnblogs.com/LY-C/p/9112720.html

案例三 十进制转换其他进制

def fun():
    num=int(input('请输入一个十进制的整数'))
    print(num,'的二进制数为:',bin(num))
    #格式化字符串打印的几种方式
    print('%s的二进制数为:%s' % (num,bin(num)))
    print('{0}的二进制数为:{1}'.format(num,bin(num)))
    print(f'{num}的二进制数为:{bin(num)}')

    print(f'{num}的八进制数为:{oct(num)}')
    print(f'{num}的十六进制数为:{hex(num)}')

if __name__ == '__main__':
    while True:
        try:
            fun()
        except:
            print('您输入的不是一个十进制的整数')

案例四 全数字判断

pwd=input('请输入支付宝密码:')
if pwd.isdigit(): #全数字判断
    print('支付密码合法')
else:
    print('支付密码不合法,支付密码只能是数字')

#更简便方式
print('----------------------------------------')
print('支付密码合法' if pwd.isdigit() else '支付密码不合法,支付密码只能是数字')

案例五 模拟登录

qq=input('请输入您的账号:')
pwd=input('请输入您的密码:')
#if 多条件使用and表示与关系
if qq=='474921428' and pwd=='123456':
    print('登录成功')
else:
    print('对不起,账号或密码不正确')

案例六 大小竞猜

import random
#随机int类型价格
price=random.randint(1000,1500)
print('今日竞猜的商品为小米扫地机器人:价格在[1000-1500]之间,请输入您猜测的数字:')
while True:
    guess=int(input())
    if guess>price:
        print('大了,继续猜:')
        continue
    elif guess<price:
        print('小了,继续猜:')
        continue
    else:
        print('猜对了')
        break
print('真实价格就是:',price)

案例七 水仙花数

水仙花数:被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。

import math
for i in range(100,1000):
    # print('当前数值',i)
    # print(f'百位数{i//100},十位数{i//10%10},个位数{i%10}')
    if math.pow((i%10),3)+math.pow((i//10%10),3)+math.pow((i//100),3)==i:
        print(i)

案例八 模拟咖啡经营

coffee_name=('蓝山','卡布奇诺','拿铁','皇家咖啡','女巫咖啡','美丽与哀愁')
print('您好!欢迎光临小喵咖啡屋')
print('本店经营的咖啡有:')
#enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中
for index,item in enumerate(coffee_name):
    #print end= 结束标识,使其不换行
    print(index+1,'.',item,end='  ')
index=int(input('\n请输入您喜欢的咖啡编码:'))
if 0<=index<=len(coffee_name):
    print(f'您的咖啡[{coffee_name[index-1]}]好了,请您慢用')

案例九 统计字符在字符串中出现的次数

def get_count(s,ch):
    count=0
    for item in s:
        if ch.upper()==item or ch.lower()==item:
            count+=1
    return count

if __name__ == '__main__':
    s='hellopython,HelloJava,hellogo'
    ch=input('请输入要统计的字符:')
    count=get_count(s,ch)
    print(f'{ch}在{s}中出现的次数为:{count}')

案例十 手动抛出异常并捕获

try:
    score=int(input('请输入分数:'))
    if 0<=score<=100:
        print('分数为:',score)
    else:
        #手动抛出异常
        raise Exception('分数不正确')
except Exception as e:
    print(e)