鱼C论坛

 找回密码
 立即注册
12
返回列表 发新帖
楼主: 冬雪雪冬

[技术交流] Python:每日一题 102

[复制链接]
发表于 2017-9-22 19:27:01 | 显示全部楼层
难啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-9-22 23:11:07 | 显示全部楼层
a = [-3.14,0.7177,1586.23,10000.0,-587643.1,12.34565]
b = []
str(a)
for i in range(len(a)):
    b.append(len(str(a[i]).split('.',1)[0]))
b.sort(reverse = True)
for i in range(len(a)):
    print(' '*(b[0] - len(str(a[i]).split('.',1)[0])) + str(a[i]).split('.',1)[0] + '.'+str(a[i]).split('.',1)[1])
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-25 09:38:12 | 显示全部楼层
本帖最后由 sunnychou 于 2017-9-25 09:39 编辑
  1. a = [-3.14,0.7177,1586.23,10000.0,-587643.1,12.34565]

  2. def duiqi(array):
  3.     m = []
  4.     n = []
  5.     k = []
  6.     result = []
  7.     a1 = [str(i) for i in array]
  8.     #print(a)

  9.     for i in a1 :
  10.         m.append(i.split('.'))
  11.         n.append(i.split('.')[0])
  12.         k.append(i.split('.')[1])
  13.    
  14.     #求所以长度中最长的数,不分正负数,进行对齐
  15.     long_font = max([len(i) for i in n])
  16.     long_rear = max([len(i) for i in k])
  17.    
  18.     for each in m:
  19.         #对齐,对齐rjust,ljust,以空格补充不足位置的地方
  20.         result.append(each[0].rjust(long_font)+'.'+each[1].ljust(long_rear))
  21.     return result
  22. duiqi(a)
复制代码


结果
  1. ['     -3.14   ',
  2. '      0.7177 ',
  3. '   1586.23   ',
  4. '  10000.0    ',
  5. '-587643.1    ',
  6. '     12.34565']
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-25 09:40:37 | 显示全部楼层
  1. a = [-3.14,0.7177,1586.23,10000.0,-587643.1,12.34565]

  2. def duiqi(array):
  3.     m = []
  4.     n = []
  5.     k = []
  6.     result = []
  7.     a1 = [str(i) for i in array]
  8.     #print(a)

  9.     for i in a1 :
  10.         m.append(i.split('.'))
  11.         n.append(i.split('.')[0])
  12.         k.append(i.split('.')[1])
  13.    
  14.     #求所以长度中最长的数,不分正负数,进行对齐
  15.     long_font = max([len(i) for i in n])
  16.     long_rear = max([len(i) for i in k])
  17.    
  18.     for each in m:
  19.         #对齐,对齐rjust,ljust,以空格补充不足位置的地方
  20.         result.append(each[0].rjust(long_font)+'.'+each[1].ljust(long_rear))
  21.     return result
  22. duiqi(a)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-4 17:27:26 | 显示全部楼层

  1. def fun(floatList):
  2.     dotPos = [str(number).index('.') for number in floatList]
  3.     dotMaxPos = max(dotPos)
  4.     for i in range(len(floatList)):
  5.         print(' '*(dotMaxPos-dotPos[i]) + str(floatList[i]))


  6. a = [-312212123121.14,2323.7177,10086.23,100.0,-587643.1,12.34565]
  7. b = [-3.14,0.7177,1586.23,10000.0,-587643.1,12.34565]

  8. print('*****************')
  9. fun(a)
  10. print('*****************')
  11. fun(b)
  12. print('*****************')

  13. ##    *****************
  14. ##    -312212123121.14
  15. ##             2323.7177
  16. ##            10086.23
  17. ##              100.0
  18. ##          -587643.1
  19. ##               12.34565
  20. ##    *****************
  21. ##         -3.14
  22. ##          0.7177
  23. ##       1586.23
  24. ##      10000.0
  25. ##    -587643.1
  26. ##         12.34565
  27. ##    *****************
复制代码
1.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-19 11:14:45 | 显示全部楼层
  1. def fun102(list_x):
  2.     list_x = [str(i) for i in list_x]
  3.     max_len = max([len(i.split('.')[0]) for i in list_x])
  4.     for i in list_x:
  5.         if len(i.split('.')[0]) < max_len:
  6.             print(' '*(max_len-len(i.split('.')[0])) + i)
  7.         else:
  8.             print(i)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-31 16:24:37 | 显示全部楼层
  1. nums = [-3.14,0.7177,1586.23,10000.0,-587643.1,12.34565]
  2. strs = list(map(lambda x: str(x).split('.'),nums))
  3. maxLen = max([len(x[0]) for x in strs])
  4. for item in strs:
  5.     print('{0:>{2}}.{1}'.format(item[0],item[1],maxLen))
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-31 17:58:55 | 显示全部楼层
一叶知秋非本意 发表于 2017-9-22 10:24
想了半天 好奇答案是什么 急死我了

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-31 17:59:33 | 显示全部楼层
一叶知秋非本意 发表于 2017-9-22 10:24
想了半天 好奇答案是什么 急死我了

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-27 13:02:34 | 显示全部楼层
def num(num_list):
    num1 = []
    num2 = []
    for i in num_list:
        a, b = str(i).split(".")
        num1.append(str(i))
        num2.append(a)
    lent = len(max(num2, key = len))
    lent2 = len(num2)
    for i in range(lent2):
        j = lent - len(num2[i])
        print(" "*j+num1[i])
        
    print(lent)
    #num1 = str(num_list)
    #print(num1, num2)
    pass
num_list = [-3.14,0.7177,1586.23,10000.0,-587643.1,12.34565]
num(num_list)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-11 19:54:15 | 显示全部楼层
  1. def fun102(list1):
  2.     index = 0
  3.     index_list = []
  4.     for each in list1:
  5.         try:
  6.             temp = str(each).index(".")
  7.         except:
  8.             if isinstance(each,int):
  9.                 temp = str(float(each)).index(".")
  10.             
  11.             
  12.         index_list.append(temp)
  13.         #取最大的index
  14.         if temp > index:
  15.             index = temp

  16.     for each in range(len(list1)):            
  17.         str1 = " "*(index - index_list[each]) + str(list1[each])
  18.         print(str1)


  19. list1 = [-3.14,0.7177,1586.23,10000.0,-587643.1,12.34565,103]
  20. fun102(list1)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 00:58

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表