第五章作业
实例01
programmer_1 = '程序员甲:搞IT太辛苦了,我想换行......怎么办?'
programmer_2 = '程序员乙:敲一下回车键'
print(programmer_1 + '\n' + programmer_2)


实例02
programer_1 = '你知道我的生日吗?'
print('程序员甲说:',programer_1)
programer_2 = '请输入你的身份证号码。'
print('程序员乙说:',programer_2)
idcard = '123456199006277890'
print('程序员甲说:',idcard)
birthday = idcard[6:10] + '年' + idcard[10:12] + '月' + idcard[12:14] + '日'
print('程序员乙说:','你是' + birthday + '出生的,所以你的生日是' + birthday[5:])


实例03
str1 = '@明日科技 @扎克伯格 @俞敏洪'
list1 = str1.split(' ')
print('您@的好友有:')
for item in list1:
print(item[1:])


实例04
list_friend = ['明日科技','扎克伯格','俞敏洪','马云','马化腾']
str_friend = ' @'.join(list_friend)
at = '@'+str_friend
print('您要@的好友:',at)


实例05
username_1 = '|MingRi|mr|mingrisoft|WGH|MRSoft|'
username_2 =username_1.lower()
regname_1 = input('输入要注册的会员名称:')
regname_2 ='|' + regname_1.lower() + '|'
if regname_2 in username_2:
print('会员名',regname_1,'已经存在!')
else:
print('会员名',regname_1,'可以注册!')


实例06
import math
print('1251+3950的结果是(以货币形式显示):¥{:,.2f}元'.format(1251+3950))
print('{0:.1f}用科学计数法表示:{0:E}'.format(120000.1))
print('π取5位小数:{:.5f}'.format(math.pi))
print('{0:d}的16进制结果是:{0:#x}'.format(100))
print('天才是由 {:.0%}的灵感,加上 {:.0%}的汗水。'.format(0.01,0.99))


实例07
import re
pattern= r'(13[4-9]\d{8})$|(15[01289]\d{8})$'
mobile = '13634222222'
match = re.match(pattern,mobile)
if match == None:
print(mobile,'不是有效的中国移动手机号码。')
else:
print(mobile,'是有效的中国移动手机号码。')
mobile = '13144222221'
match = re.match(pattern,mobile)
if match == None:
print(mobile,'不是有效的中国移动手机号码。')
else:
print(mobile,'是有效的中国移动手机号码。')


实例08
import re
pattern= r'(黑客)|(抓包)|(监听)|(Trojan)'
about= '我是一名程序员,我喜欢看黑客方面的图书,想研究一下Trojan。'
match = re.search(pattern,about)
if match == None:
print(about,'@ 安全!')
else:
print(about,'@ 出现了危险词汇!')
about= '我是一名程序员,我喜欢看计算机网络方面的图书,喜欢开发网站。'
match = re.search(pattern,about)
if match == None:
print(about,'@ 安全!')
else:
print(about,'@ 出现了危险词汇!')


实例09
import re
pattern= r'(黑客)|(抓包)|(监听)|(Trojan)'
about= '我是一名程序员,我喜欢看黑客方面的图书,想研究一下Trojan。\n'
sub= re.sub(pattern,'@_@',about)
print(sub)
about= '我是一名程序员,我喜欢看计算机网络方面的图书,喜欢开发网站。'
sub= re.sub(pattern,'@_@',about)
print(sub)


实例10
import re
str1 ='@明日科技 @扎克伯格 @俞敏洪'
pattern =r'\s*@'
list1=re.split(pattern,str1)
print('您@的好友有:')
for item in list1:
if item !="":
print(item)


实战一:打印象棋口诀
print('象棋口诀:')
str1='马走田'
str2='象走日'
str3='车走直路炮翻天'
str4='士走斜线护将边'
str5='小卒一去不回还'
print(str1+',\n'+str2+',\n'+str3+',\n'+str4+',\n'+str5+'。')


实战二:判断车牌归属地
dictionary={'京':'北京','津':'天津','冀':'河北','晋':'山西','蒙':'内蒙古自治区','辽':'辽宁','吉':'吉林','黑':'黑龙江','沪':'上海','苏':'江苏','浙':'浙江','皖':'安徽','闽':'福建','赣':'江西','鲁':'山东','豫':'河南','鄂':'湖北','湘':'湖南','粤':'广东','桂':'广西壮族自治区','琼':'海南','渝':'重庆','川':'四川','贵':'贵州','云':'云南','藏':'西藏自治区','陕':'陕西','甘':'甘肃','青':'青海','宁':'宁夏回族自治区','新':'新疆维吾尔自治区','港':'香港特别行政区','澳':'澳门特别行政区','台':'台湾'}
for i in range(3):
print('第',i+1,'张车牌号码:')
num=tuple(input())
print(dictionary[num[0]])


实战三:模拟微信抢红包
import decimal
import random
print('----------模拟微信抢红包----------')
money=input('请输入要装入红包的总金额(元):')
money_total=decimal.Decimal(money)
num= int(input('请输入红包的个数(个):'))
for i in range(1,num+1):
if i==num:
last = money_total
else:
last = money_total/2*decimal.Decimal(str(random.random()))
last = last.quantize(decimal.Decimal('0.00'))
money_total= money_total-last
print('第'+str(i)+'个红包:'+str(last)+'元')


实战四:显示实时天气预报
print('2018年4月17日\t天气预报:晴\t20℃~7℃\t微风转西风3~4级')
pattern='{:s}\t天气预报:{:s}\t{:s}\t{:s}'
context1=pattern.format('08:00','晴','13℃','微风')
context2=pattern.format('12:00','晴','19℃','微风')
context3=pattern.format('16:00','晴','18℃','西风3~4级')
context4=pattern.format('20:00','晴','15℃','西风3~4级')
context5=pattern.format('00:00','晴','12℃','微风')
context6=pattern.format('04:00','晴','9℃','微风')
print(context1)
print(context2)
print(context3)
print(context4)
print(context5)
print(context6)



浙公网安备 33010602011771号