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))