1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 程序员都看不懂的代码

程序员都看不懂的代码

时间:2019-02-20 13:47:15

相关推荐

程序员都看不懂的代码

############字符或特殊符号横向条形图输出##################################

# 4大互联网公司市值信息列表

chart = [['alibaba', 4580], ['amazon', 9628], ['apple', 11331], ['oracle', 2053]]

hchartall = 300# 数据单位长度参数

mark = '$' # 条形图填充字符为“$”

horiz = [] # 横向二维列表

for item in chart:# 遍历列表,转换量化数据为二维列表

hchartwid = int(item[1] / hchartall) # 获得条形图量化数据

horiz.append(item[0].ljust(8) +hchartwid * mark) # 转换为二维列表

for item in horiz:# 遍历输出条形图

print( ' \033[1;31;0m ' + item + '\033[0m')

for item in chart: # 遍历列表

hchartwid = int(item[1] / hchartall) # 获取条形图量化数据

print( item[0].ljust(8) + ' \033[1;31;0m ' + hchartwid * mark + '\033[0m')

############横向条形图背景色##################################

chart=[['alibaba',4580],['amazon',9628],['apple',11331],['oracle',2053]]# 4大互联网公司市值信息

hchartall=300# 数据单位长度参数

color= '41m '# 条形图颜色参数

for item in chart: # 遍历列表

hchartwid = int(item[1] / hchartall) # 获得条形图量化数据

print( item[0].ljust(8) + ' \033[1;32;' +color + ''.ljust(hchartwid)+ '\033[0m')

print('')# 输出空行条形图之间的间隔

############纵向条形图字符填充##################################

chart=[['alibaba',4580],['amazon',9628],['apple',11331],['oracle',2053]]

hchartall=900 # 条形图数据单位长度

mark=chr(0x25a0) # 填充条形图的字符为方块

datazip=[] # 量化后的比较数据

horiz=[] # 横向列表矩阵

stri='' # 存储从横向列表矩阵临时提取的字符

vertical=[] # 纵向列表矩阵

for item in chart: # 遍历4大互联网公司市值列表

hchartwid = int(item[1] / hchartall) # 按单位长度计算各公司条形图比较数据

datazip.append(hchartwid) # 添加条形图数据到比较数据的列表

maxdata=max(datazip) # 获取数据比较列表的最大值

for item in datazip: # 遍历数据比较列表

# 转换为由1和0组成的横向列表矩阵,列表前面的值为1(比较数据大小决定),后面补充0

horiz.append('1' * int(item) + (maxdata-int(item))*'0')

for i in range(maxdata): # 按数据比较列表的最大值转换成纵向矩阵列表

for item in horiz: # 遍历横向矩阵列表

stri=stri+item[maxdata-i-1] # 提取每个列表的一个字符

vertical.append(stri) # 添加到纵向列表

stri=''# 清空临时存储的横向数据

for item in vertical: # 遍历纵向矩阵列表

for i in item: # 遍历其中的一个列表

if i=='1':# 如果列表元素为“1”

print(' \033[31m'+mark *2+ '\033[0m',end=' ') # 按行输出字符

else:# 如果列表元素为"0 "

print(" ",end=' ') # 输出为空

print()# 输出空列

print(chart[0][0],chart[1][0],chart[2][0],chart[3][0] ) # 添加公司名称信息

# 添加数据标签,显示市值

print('\33[35m',chart[0][1],' ',chart[1][1],' ',chart[2][1],' ',chart[3][1],'\33[0m')

for item in vertical:# 遍历列表矩阵

for i in item:# 遍历其中一个列表

if i=='1': # 如果为“1”,输出背景色

print(' \033[41m'+' '+ '\033[0m',end=' ')

else: # 如果为“0”,不输出内容

print(" ",end=' ')

print() # 输出间隔列

print(chart[0][0],chart[1][0],chart[2][0],chart[3][0] ) # 输出公司名称

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。