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('\t\t□带儿童\t\t□带婴儿')
print('\t\t\t---------')
print('\t\t\t|  搜索\t|')
print('\t\t\t---------')

在这里插入图片描述

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

老师还是就用的print,我觉得效果不是很好,空格和\t都要手把手自己调
在这里插入图片描述
效果不错:
在这里插入图片描述

#北京地铁一号线运行图
print('地铁1\t\t\t四惠东→苹果园')
print('\t首车:05:05')
print('\t末车:23:30\t\t票价:起步价: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('⇋\t\t\t⇋\t\t\t⇋\t\t\t⇋\t\t\t⇋\t\t\t⇋\t\t\t⇋\t\t\t⇋\t\t\t⇋\t\t\t⇋\t\t\t⇋')
print('\t'.join(table_datas))
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值