第五章
实例01:
programmer_1='程序员甲:搞IT太辛苦了,我想换行。。。怎么办?'
programmer_2='程序员乙:敲一下回车键'
print(programmer_1+'\n'+programmer_2)
实例02:
programmer_1='你知道我的生日吗?'
print('程序员甲说:',programmer_1)
programmer_2='输入你的身份证号码。'
print('程序员乙说:',programmer_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='|xiaoxie|Xwb|SSS|Srrr|'
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('π取24位小数:{:.24f}'.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.match(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)
实战一:打印象棋口诀
str1='马走日'
str2=','
str3='象走田'
str4=','
str5='小卒一去不复返'
str6=','
print('象棋口诀'+':')
print(str1+str2)
print(str3+str4)
print(str5+str6)
实战二:判断车牌归属地
str1='津A·12345','沪A·23456','京A·34567'
for i in range(len(str1)):
print('第'+str(i+1)+'张车牌号码:\n'+str1[i])
if str1[i][0]=='津':
print('这张号牌的归属地:天津')
if str1[i][0]=='沪':
print('这张号牌的归属地:上海')
if str1[i][0]=='京':
print('这张号牌的归属地:北京')
实战三:模拟微信抢红包
import random
import decimal
money=input('请输入总金额:')
money_total=decimal.Decimal(money)
nums=int(input('请输入红包个数:'))
for num in range(1,nums+1):
if num==nums:
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('第%d个红包:%s'%(num,str(last)))
实战四:显示实时天气预报
weather='2018年4月17日\t 天气预报:{:s} \t 20℃~7℃ \t 微风转西风3~4级 \n \
08:00 \t 天气预报:{:s} \t 13℃ \t 微风 \n \
12:00 \t 天气预报:{:s} \t 19℃ \t 微风 \n \
16:00 \t 天气预报:{:s} \t 18℃ \t 西风3~4级 \n \
20:00 \t 天气预报:{:s} \t 15℃ \t 西风3~4级 \n \
00:00 \t 天气预报:{:s} \t 12℃ \t 微风 \n \
04:00 \t 天气预报:{:s} \t 9℃ \t 微风'
context = weather.format('晴','晴','晴','晴','晴','晴','晴')
print(context)