栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python自学笔记4:关于print的简单实操项目(打印一句话、天气预报、机票购买、北京地铁一号线运行图

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python自学笔记4:关于print的简单实操项目(打印一句话、天气预报、机票购买、北京地铁一号线运行图

b站网课链接:https://www.bilibili.com/video/BV1Sw411Z779?p=146
第146讲

使用方法:新建一个.py文件,复制,粘贴,运行

1.输出‘奋斗成就更好的你’
'''使用print方式进行输出'''
fp=open('D:/test.txt','w')
print('奋斗成就更好的你',file=fp)
fp.close()

'''使用文件读写操作,不用专门关闭文件'''
with open('D:/test1.txt','w')as file:
    file.write('奋斗成就更好的你')

2.输出固定的北京天气预报
'''输出北京天气预报'''
print('星期日','今天')
print('------------------------------')
print('08时','11时','14时','17时','20时','23时')
print('0°C ','6°C ','10°C ','4°C ','1°C ','0°C ')
print('------------------------------')
print('明 天','2/23','2°C/11°C')
print('星期二','2/23','2°C/11°C')
print('星期三','2/23','2°C/11°C')
print('星期四','2/23','2°C/11°C')
print('星期五','2/23','2°C/11°C')
print('星期六','2/23','2°C/11°C')


在网上搜了一份一样的:https://shenhuangji.com/article/350.html

print('星期日','今天')
print('------------------------------------')
print('0时','11时','14时','17时','20时','23时')
print('0℃','6℃ ','10℃ ','4℃ ','1℃ ','0℃')
print('------------------------------------')
print('明  天 ','10/2 ','2℃/11℃ ')
print('星期四 ','11/2 ','1℃/12℃ ')
print('星期五 ','12/2 ','2℃/13℃ ')
print('星期六 ','13/2 ','1℃/14℃ ')
print('星期天 ','14/2 ','2℃/12℃ ')

因为我复制的温度符号和老师是看起来占位不太一样,所以这个对的不是很齐,感觉很丑

我百度了一下python怎么规范格式:https://blog.csdn.net/qq_41767116/article/details/121739140

把print温度那一行注释掉,换上下面的代码:

print('{0:^5}'.format('0°C')) # 占5个字符空间,0是format参数中的变量索
print('{0:^5}'.format('6°C'))
print('{0:^5}'.format('10°C'))
print('{0:^5}'.format('4°C'))
print('{0:^5}'.format('4°C'))
print('{0:^5}'.format('0°C'))

然后会发现不应该换行的地方多余操作了:

于是我又搜了一个帖子看怎么输出一段长句子:
https://blog.csdn.net/beautiful77moon/article/details/88874541?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-2-88874541-blog-121739140.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-2-88874541-blog-121739140.pc_relevant_default&utm_relevant_index=5


下图来自上一篇文章:

显而易见我这种自己发明创造的方法不太行:

我决定借鉴一下老师学生管理系统的代码:
https://www.bilibili.com/video/BV1Sw411Z779?p=143&spm_id_from=pageDriver
第143讲

看起来不错,就是间距大了点:

format_title='{:^5}t{:^5}t{:^5}t{:^5}t{:^5}t{:^5}'#定义标题显示格式
print(format_title.format('0°C ','6°C ','10°C ','4°C ','1°C ','0°C '))


但是怎么改都还是对不齐······

解决方法:我去查了一下Pytthon怎么输出表格:
https://blog.csdn.net/qq_21264377/article/details/124372893

按照他的代码,我改了一下max_warp的长度,这次终于成功了!

table_titles = ['08时','11时','14时','17时','20时','23时']
max_wrap = 6
table_datas = [str('0°C'), str('6°C'), str('10°C'), str('4°C'),str('1°C'), str('0°C')]
for i in range(len(table_datas) - 1):
	if len(table_datas[i]) < max_wrap:
		table_datas[i] = table_datas[i] + ' ' * (max_wrap - len(table_datas[i])) #剩余部分用空格补齐
		table_titles[i] = table_titles[i] + ' ' * (max_wrap - len(table_titles[i]))
print('t'.join(table_titles))
print('t'.join(table_datas))

截止目前,我的需求已经完美解决了。
全代码:

'''输出北京天气预报'''
print('星期日','今天')
print('------------------------------')

'''print('08时  ','11时  ','14时  ','17时  ','20时  ','23时  ')'''

'''format_title='{:^5}{:^5}{:^5}{:^5}{:^5}{:^5}'#定义标题显示格式
print(format_title.format('0°C','6°C','10°C','4°C','1°C','0°C'))'''

table_titles = ['08时','11时','14时','17时','20时','23时']
max_wrap = 6
table_datas = [str('0°C'), str('6°C'), str('10°C'), str('4°C'),str('1°C'), str('0°C')]
for i in range(len(table_datas) - 1):
	if len(table_datas[i]) < max_wrap:
		table_datas[i] = table_datas[i] + ' ' * (max_wrap - len(table_datas[i])) #剩余部分用空格补齐
		table_titles[i] = table_titles[i] + ' ' * (max_wrap - len(table_titles[i]))
print('t'.join(table_titles))
print('t'.join(table_datas))

'''这种最原始的输出方式对不齐 ('0°C ','6°C ','10°C ','4°C ','1°C ','0°C ')'''
'''这种写法只会输出0°C print('{0:^30}'.format('0°C','6°C','10°C','4°C','4°C','0°C'))'''

print('------------------------------')
print('明 天','2/23','2°C/11°C')
print('星期二','2/23','2°C/11°C')
print('星期三','2/23','2°C/11°C')
print('星期四','2/23','2°C/11°C')
print('星期五','2/23','2°C/11°C')
print('星期六','2/23','2°C/11°C')

—————————————————————————————————————————————

我咋看都觉得最后两行看着join有点多余,于是作死删掉试了一下,发现数据不输出了。
后知后觉反应过来,笑死,我把print删了能输出吗·······

出于好奇,我又去查了一下这里面用到的join()方法:
https://www.runoob.com/python/att-string-join.html

3.机票购买界面:
#机票购买
print('✈国内t♝国际、港澳台t↘发现低价')
print('---------------------------------')
print('航班类型:⊙单程     ⊙往返     ⊙多程    (含缺口程')
print('出发城市:北京')
print('到达城市:长春')
print('出发日期:2020-8-10')
print('返回日期:yyyy-MM-dd')
print('---------------------------------')
print('tt□带儿童tt□带婴儿')
print('ttt---------')
print('ttt|  搜索t|')
print('ttt---------')

4.北京地铁1号线运行图

老师还是就用的print,我觉得效果不是很好,空格和t都要手把手自己调

效果不错:

#北京地铁一号线运行图
print('地铁1ttt四惠东→苹果园')
print('t首车:05:05')
print('t末车:23:30tt票价:起步价:2元')
print('----------------------------------------------')

table_titles = ['1','3','5','7','9','11','12','14','16','18','20']
max_wrap = 8
table_datas = [str('四惠东'), str('大望路'), str('永安里'), str('东单'),str('天安门东'), str('西单'),str('复兴门'),str('木樨地'),str('公主坟'),str('五棵松'),str('八宝山')]
for i in range(len(table_datas) - 1):
	if len(table_datas[i]) < max_wrap:
		table_datas[i] = table_datas[i] + ' ' * (max_wrap - len(table_datas[i])) #剩余部分用空格补齐
		table_titles[i] = table_titles[i] + ' ' * (max_wrap - len(table_titles[i]))
print('t'.join(table_titles))
print('⇋ttt⇋ttt⇋ttt⇋ttt⇋ttt⇋ttt⇋ttt⇋ttt⇋ttt⇋ttt⇋')
print('t'.join(table_datas))
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/920525.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号