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)