鱼C论坛

 找回密码
 立即注册
查看: 2174|回复: 73

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

[复制链接]
最佳答案
945 
发表于 2018-3-11 15:22:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 冬雪雪冬 于 2018-3-14 20:36 编辑

我们的玩法做了一下改变:

1. 楼主不再提供答案。
2. 请大家先独立思考,再参考其他鱼油的解答,这样才有助于自己编程水平的提高。
3. 鼓励大家积极答题,奖励的期限为出题后24小时内。
4. 根据答案的质量给予1~3鱼币的奖励。

题目:
我们知道1的阶乘是1,2的阶乘是2,3的阶乘是6,4的阶乘是24,将前4个数字的阶乘排在一起是12624,现在要求将1~50的阶乘排在一起打印出来,要求,每40个数字1行,当本行超过40个时换行到下一行,另外在每行的开头打印行号。最终的结果如下所示:
1.jpg

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
11 
发表于 2018-3-11 15:52:03 | 显示全部楼层
  1. def ladder(number):
  2.         result = 1
  3.         for i in range(1,number+1):
  4.                 result = result * i
  5.         return result

  6. if __name__ == '__main__':
  7.         result = ''
  8.         for i in range(1,51):
  9.                 result = result + str(ladder(i))

  10.         line_number = 1
  11.         cnt = 0
  12.         print('(%d)'%line_number,end = '')
  13.         for each in result:
  14.                 cnt = cnt + 1
  15.                 print(each,end = '')
  16.                 if cnt % 40 == 0:
  17.                         print('')
  18.                         line_number = line_number + 1
  19.                         print('(%d)'%line_number,end = '')
  20.                        
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
11 
发表于 2018-3-11 15:52:38 | 显示全部楼层
  1. 运行结果:
  2. (1)1262412072050404032036288036288003991680
  3. (2)0479001600622702080087178291200130767436
  4. (3)8000209227898880003556874280960006402373
  5. (4)7057280001216451004088320002432902008176
  6. (5)6400005109094217170944000011240007277776
  7. (6)0768000025852016738884976640000620448401
  8. (7)7332394393600001551121004333098598400000
  9. (8)0403291461126605635584000000108888694504
  10. (9)1835216076800000030488834461171386050150
  11. (10)4000000884176199373970195454361600000026
  12. (11)5252859812191058636308480000000822283865
  13. (12)4177922817725562880000000263130836933693
  14. (13)5301672180121600000008683317618811886495
  15. (14)5181944012800000002952327990396041408476
  16. (15)1860964352000000010333147966386144929666
  17. (16)6513375232000000003719933267899012174679
  18. (17)9944815083520000000013763753091226345046
  19. (18)3159795815809024000000005230226174666011
  20. (19)1176000722410007429120000000020397882081
  21. (20)1974433586402817399028973568000000008159
  22. (21)1528324789773434561126959611589427200000
  23. (22)0000334525266131638071081700620534407516
  24. (23)6515200000000014050061177528798985431426
  25. (24)0624451156993638400000000060415263063373
  26. (25)8356373551320685139975072645120000000002
  27. (26)6582715747884487680436258110146158903196
  28. (27)3852800000000011962222086548019456196316
  29. (28)1495657715064383733760000000000550262215
  30. (29)9812088949850305428800254892961651752960
  31. (30)0000000002586232415111681806429643551536
  32. (31)1197996919763238912000000000012413915592
  33. (32)5360726708622890473733750385214863546777
  34. (33)6000000000060828186403426756087225216332
  35. (34)1295376887552831379210240000000000304140
  36. (35)9320171337804361260816606476884437764156
  37. (36)8960512000000000000
  38. ***Repl Closed***
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
8 
发表于 2018-3-11 16:25:32 | 显示全部楼层
def factorial(n):
    if n ==1:
        return 1
    else:
        return factorial(n-1)*n
list1=[]
for i in range(1,51):
    list1.append(str(factorial(i)))
W=''.join(list1)
m = len(W)//40
for i in range(m+1):
    if i*40+40<len(W):
        print('(%d)'% (i+1), W[i*40:i*40+40])
    else:
        print('(%d)'% (i+1), W[i*40:])

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
0 
发表于 2018-3-11 16:33:16 | 显示全部楼层
本帖最后由 fkmol 于 2018-3-11 18:53 编辑

i=1
q=0
print ('(1)',end='\t')
for n in range(50):
        g = i * (n+1)
        i = g
        print (i,end="")#单纯的打印数字
        h = len(str(i))#不知道怎么得出40
        if (h%10==0):#想做出40个一换行但并没有用
                q += 1
                print ()
                print ('(%d)' % q,end='\t')
弃疗 感觉思维完全跟不上
def sisi():
        i=1
        an=''#定义一个空的字符串
        for n in range(50):
                g = i * (n+1)
                i = g
                an = an+str(i)#利用迭代赋值
        return an#返还的值是字符串


ms = sisi()
for shi in range((len(ms)//40+1)):#整除加一可得出循环多少遍
        print ('(%2d)'%(shi+1),end='\t')
        print (ms[shi*40:(shi+1)*40])#打印40的倍数每次打印40
仔细思考了一下 发现会了

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
82 
发表于 2018-3-11 16:48:20 | 显示全部楼层
本帖最后由 凌九霄 于 2018-3-11 17:01 编辑
  1. import math

  2. resultadd = ''
  3. id = 1

  4. for i in range(1, 51):
  5.     result = math.factorial(i)
  6.     resultadd += str(result)
  7.     while len(resultadd) > 40:
  8.         print("({0:>2d}) {1}".format(id, resultadd[0:40]))
  9.         id += 1
  10.         resultadd = resultadd[40:]
  11. print("({0:>2d}) {1}".format(id, resultadd))
复制代码


360截图20180311164707387.jpg

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
190 
发表于 2018-3-11 16:49:19 | 显示全部楼层
  1. t = lambda x: x*t(x-1) if x > 1 else x
  2. m = ''.join([str(t(i)) for i in range(1, 51)])

  3. for i in range(len(m)//40+1):
  4.     k = '('+' '*(2-len(str(i+1)))+str(i+1) +') '+m[i*40:i*40+40]
  5.     print(k)
复制代码


勉强一行?
  1. from functools import reduce

  2. print(''.join([j for j in ['('+' '*(2-len(str(i+1)))+str(i+1) +') '+''.join([str(reduce(lambda x,y:x*y, range(1, i))) for i in range(2, 52)])[i*40:i*40+40] +'\n' for i in range(len(''.join([str(reduce(lambda x,y:x*y, range(1, i))) for i in range(2, 52)]))//40+1)]]))
复制代码


或者二行的
  1. t = lambda x:x*t(x-1) if x > 1 else x
  2. print(''.join([j for j in ['('+' '*(2-len(str(i+1)))+str(i+1) +') '+''.join([str(t(i)) for i in range(1, 51)])[i*40:i*40+40] +'\n' for i in range(len(''.join([str(t(i)) for i in range(1, 51)]))//40+1)]]))
复制代码

评分

参与人数 1荣誉 +5 鱼币 +5 收起 理由
冬雪雪冬 + 5 + 5 厉害

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
537 
发表于 2018-3-11 17:02:40 | 显示全部楼层
本帖最后由 塔利班 于 2018-3-11 17:05 编辑
  1. text=''
  2. fac=1
  3. for i in range(1,51):
  4.     fac*=i
  5.     text+=str(fac)
  6. a=0
  7. for each in text:
  8.     if a%40==0:
  9.         print('\n(%2d)  '%((a//40)+1),end='')
  10.     a+=1
  11.     print(each,end='')
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
5 
发表于 2018-3-11 17:20:42 | 显示全部楼层
  1. def fact(num):
  2.     product = 1
  3.     for i in range(1, num + 1):
  4.         product *= i
  5.     return product


  6. def get_num(num):
  7.     number = []
  8.     while num:
  9.         number.append(str(num % 10))
  10.         num /= 10
  11.     number.reverse()
  12.     return number


  13. all_number = []
  14. for i in range(1, 51):
  15.     all_number += get_num(fact(i))
  16. all_number.reverse()
  17. indexNum = 1
  18. line_number = ''
  19. count = 0
  20. for j in range(len(all_number)):
  21.     line_number += all_number.pop()
  22.     count += 1
  23.     if count == 40:
  24.         print '(', '%2d' % indexNum, ')','    ', line_number
  25.         line_number = ''
  26.         indexNum += 1
  27.         count = 0

  28. print '(', '%2d' % indexNum, ')', '    ', line_number
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
10 
发表于 2018-3-11 17:40:20 | 显示全部楼层
  1. def fact(n):
  2.     if n == 1:
  3.         return 1
  4.     else:
  5.         return fact(n-1) * n

  6. def myPrint(num):
  7.     #用str1存储1~num的阶乘结果
  8.     str1 = ''
  9.     for i in range(1,num+1):
  10.         str1 += str(fact(i))
  11.     #计算打印结果的行数
  12.     if len(str1)%40 == 0:
  13.         line_count = len(str1)//40
  14.     else:
  15.         line_count = len(str1)//40 + 1
  16.     #分行打印
  17.     for i in range(0,line_count):
  18.         if i < 9:
  19.             print('( ' + str(i+1) + ')',end = ' ')
  20.         else:
  21.             print('(' + str(i+1) + ')',end = ' ')
  22.         #用str2存储阶乘结果的每一行
  23.         str2 = ''
  24.         str2 += str1[i*40:i*40+40]
  25.         print(str2)

  26. #打印1~50的阶乘结果
  27. myPrint(50)
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
18 
发表于 2018-3-11 17:45:05 | 显示全部楼层
本帖最后由 8306最硬 于 2018-3-11 17:54 编辑
  1. from math import factorial

  2. strng = ''.join( str(factorial(i)) for i in range(1, 51) )

  3. for i in range(0, len(strng), 40):
  4.     print( '({:>2}) {}'.format(i//40+1, strng[i:i+40]) )
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
5 
发表于 2018-3-11 18:07:21 | 显示全部楼层
  1. def f(n):
  2.     if n==1:
  3.         return 1
  4.     else:
  5.         return f(n-1)*n

  6. r=''
  7. for i in range(1, 51):
  8.     r=r+str(f(i))

  9. for i in range((len(r)+40-1)//40):
  10.     print('('+str(i+1)+')', r[i*40:(i+1)*40])
复制代码


结果:
  1. (1) 1262412072050404032036288036288003991680
  2. (2) 0479001600622702080087178291200130767436
  3. (3) 8000209227898880003556874280960006402373
  4. (4) 7057280001216451004088320002432902008176
  5. (5) 6400005109094217170944000011240007277776
  6. (6) 0768000025852016738884976640000620448401
  7. (7) 7332394393600001551121004333098598400000
  8. (8) 0403291461126605635584000000108888694504
  9. (9) 1835216076800000030488834461171386050150
  10. (10) 4000000884176199373970195454361600000026
  11. (11) 5252859812191058636308480000000822283865
  12. (12) 4177922817725562880000000263130836933693
  13. (13) 5301672180121600000008683317618811886495
  14. (14) 5181944012800000002952327990396041408476
  15. (15) 1860964352000000010333147966386144929666
  16. (16) 6513375232000000003719933267899012174679
  17. (17) 9944815083520000000013763753091226345046
  18. (18) 3159795815809024000000005230226174666011
  19. (19) 1176000722410007429120000000020397882081
  20. (20) 1974433586402817399028973568000000008159
  21. (21) 1528324789773434561126959611589427200000
  22. (22) 0000334525266131638071081700620534407516
  23. (23) 6515200000000014050061177528798985431426
  24. (24) 0624451156993638400000000060415263063373
  25. (25) 8356373551320685139975072645120000000002
  26. (26) 6582715747884487680436258110146158903196
  27. (27) 3852800000000011962222086548019456196316
  28. (28) 1495657715064383733760000000000550262215
  29. (29) 9812088949850305428800254892961651752960
  30. (30) 0000000002586232415111681806429643551536
  31. (31) 1197996919763238912000000000012413915592
  32. (32) 5360726708622890473733750385214863546777
  33. (33) 6000000000060828186403426756087225216332
  34. (34) 1295376887552831379210240000000000304140
  35. (35) 9320171337804361260816606476884437764156
  36. (36) 8960512000000000000
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
0 
发表于 2018-3-11 18:07:30 | 显示全部楼层
追求格式的输出。。。
  1. def fac(n):
  2.     if n == 0:
  3.         return 1
  4.     else:
  5.         return n*fac(n-1)

  6. def generate_list_fac(n):
  7.     string = ''
  8.     for i in range(1,n+1):
  9.         string += str(fac(i))
  10.     return string

  11. def print_list_fac(n,k):
  12.     string_fac = generate_list_fac(n)
  13.     hangshu_1 = len(string_fac) // k
  14.     flag = len(string_fac) % k
  15.     for i in range(1,hangshu_1+1):
  16.         if i//10 == 0:
  17.             string_line = string_fac[(i-1)*k:i*k]
  18.             print("(%d)"%i,end='   ')
  19.             print(string_line)            
  20.         else:
  21.             string_line = string_fac[(i-1)*k:i*k]
  22.             print("(%d)"%i,end='  ')
  23.             print(string_line)
  24.     if flag != 0:
  25.         print("(%d)"%(hangshu_1+1),end='  ')
  26.         print(string_fac[-flag:])

  27. >>> print_list_fac(50,40)
  28. (1)   1262412072050404032036288036288003991680
  29. (2)   0479001600622702080087178291200130767436
  30. (3)   8000209227898880003556874280960006402373
  31. (4)   7057280001216451004088320002432902008176
  32. (5)   6400005109094217170944000011240007277776
  33. (6)   0768000025852016738884976640000620448401
  34. (7)   7332394393600001551121004333098598400000
  35. (8)   0403291461126605635584000000108888694504
  36. (9)   1835216076800000030488834461171386050150
  37. (10)  4000000884176199373970195454361600000026
  38. (11)  5252859812191058636308480000000822283865
  39. (12)  4177922817725562880000000263130836933693
  40. (13)  5301672180121600000008683317618811886495
  41. (14)  5181944012800000002952327990396041408476
  42. (15)  1860964352000000010333147966386144929666
  43. (16)  6513375232000000003719933267899012174679
  44. (17)  9944815083520000000013763753091226345046
  45. (18)  3159795815809024000000005230226174666011
  46. (19)  1176000722410007429120000000020397882081
  47. (20)  1974433586402817399028973568000000008159
  48. (21)  1528324789773434561126959611589427200000
  49. (22)  0000334525266131638071081700620534407516
  50. (23)  6515200000000014050061177528798985431426
  51. (24)  0624451156993638400000000060415263063373
  52. (25)  8356373551320685139975072645120000000002
  53. (26)  6582715747884487680436258110146158903196
  54. (27)  3852800000000011962222086548019456196316
  55. (28)  1495657715064383733760000000000550262215
  56. (29)  9812088949850305428800254892961651752960
  57. (30)  0000000002586232415111681806429643551536
  58. (31)  1197996919763238912000000000012413915592
  59. (32)  5360726708622890473733750385214863546777
  60. (33)  6000000000060828186403426756087225216332
  61. (34)  1295376887552831379210240000000000304140
  62. (35)  9320171337804361260816606476884437764156
  63. (36)  8960512000000000000
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
13 
发表于 2018-3-11 18:35:44 | 显示全部楼层
本帖最后由 shigure_takimi 于 2018-3-11 21:23 编辑
  1. def fun(n = 50, count = 40):
  2.     s = ''
  3.     result = 1
  4.     for i in range(1, n+1):
  5.         result *= i
  6.         s += str(result)
  7.     length = len(s)
  8.     totalCol = length//count
  9.     totalCol = totalCol if length%count == 0 else totalCol+1
  10.     for i in range(totalCol):
  11.         num = ' '+str(i+1) if i < 9 else str(i+1)
  12.         a = '('+num+')  '+s[count*i:count*(i+1)]
  13.         print(a)

  14. fun()
复制代码
5.png

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
0 
发表于 2018-3-11 19:06:29 | 显示全部楼层
  1. import math

  2. string = ''
  3. for i in range(1, 51):
  4.     string += str(math.factorial(i))

  5. index = 0
  6. line = 1
  7. length = len(string)
  8. while index < length:
  9.     print('(' + '{0:2d}'.format(line) + ') ' + string[index:index+40])
  10.     index += 40
  11.     line += 1
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
3 
发表于 2018-3-11 19:45:01 | 显示全部楼层
  1. import textwrap

  2. def factorial(n):
  3.     result = 1
  4.     for i in range(1, n+1):
  5.         result *= i
  6.     return result

  7. result = ''
  8. for i in range(1, 51):
  9.     result += str(factorial(i))

  10. resultList = textwrap.wrap(result, 40)

  11. for i in range(len(resultList)):
  12.     print('({:2}) {}'.format(i + 1, resultList[i]))
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
0 
发表于 2018-3-11 20:26:56 | 显示全部楼层
本帖最后由 victor.xu 于 2018-3-11 20:28 编辑

之前学格式化字符串时觉得特别难,现在能完成这样的作业,也别有成就感。
  1. import math
  2. lis = []
  3. for i in range(1, 51):
  4.     lis.append(math.factorial(i))
  5. tt = tuple(lis)
  6. st = "%s" * 50 % tt
  7. i, j = 0, 0
  8. lis1 = []
  9. while j < len(st):
  10.     if j - i == 39:
  11.         lis1.append(st[i:j + 1])
  12.         i, j = j + 1, j + 1
  13.     else:
  14.         j += 1
  15. lis1.append(st[i:j + 1])
  16. for i in range(len(lis1)):
  17.     print('(%2d)  ' % (i + 1), lis1[i])
复制代码


结果如下:

  1. ( 1)   1262412072050404032036288036288003991680
  2. ( 2)   0479001600622702080087178291200130767436
  3. ( 3)   8000209227898880003556874280960006402373
  4. ( 4)   7057280001216451004088320002432902008176
  5. ( 5)   6400005109094217170944000011240007277776
  6. ( 6)   0768000025852016738884976640000620448401
  7. ( 7)   7332394393600001551121004333098598400000
  8. ( 8)   0403291461126605635584000000108888694504
  9. ( 9)   1835216076800000030488834461171386050150
  10. (10)   4000000884176199373970195454361600000026
  11. (11)   5252859812191058636308480000000822283865
  12. (12)   4177922817725562880000000263130836933693
  13. (13)   5301672180121600000008683317618811886495
  14. (14)   5181944012800000002952327990396041408476
  15. (15)   1860964352000000010333147966386144929666
  16. (16)   6513375232000000003719933267899012174679
  17. (17)   9944815083520000000013763753091226345046
  18. (18)   3159795815809024000000005230226174666011
  19. (19)   1176000722410007429120000000020397882081
  20. (20)   1974433586402817399028973568000000008159
  21. (21)   1528324789773434561126959611589427200000
  22. (22)   0000334525266131638071081700620534407516
  23. (23)   6515200000000014050061177528798985431426
  24. (24)   0624451156993638400000000060415263063373
  25. (25)   8356373551320685139975072645120000000002
  26. (26)   6582715747884487680436258110146158903196
  27. (27)   3852800000000011962222086548019456196316
  28. (28)   1495657715064383733760000000000550262215
  29. (29)   9812088949850305428800254892961651752960
  30. (30)   0000000002586232415111681806429643551536
  31. (31)   1197996919763238912000000000012413915592
  32. (32)   5360726708622890473733750385214863546777
  33. (33)   6000000000060828186403426756087225216332
  34. (34)   1295376887552831379210240000000000304140
  35. (35)   9320171337804361260816606476884437764156
  36. (36)   8960512000000000000
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
5 
发表于 2018-3-11 20:45:00 | 显示全部楼层
  1. import itertools as it
  2. import math

  3. def fun(start=1, stop=50, width=40):
  4.    
  5.     string = "".join(str(math.factorial(i)) for i in range(start, stop+1))
  6.     rows = math.ceil(len(string)/width)
  7.     num_width = len(str(rows))
  8.     result = ''
  9.    
  10.     for i in range(rows):
  11.         result = it.chain(result, '({}) '.format(str(i+1).rjust(num_width)),
  12.                           it.islice(string, i*width, (i+1)*width), '\n')
  13.     return "".join(result)[:-1]
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
0 
发表于 2018-3-11 21:02:06 | 显示全部楼层
  1. import re
  2. list1=[]
  3. jiechen=1
  4. test=''
  5. for i in range (1,51):
  6.     jiechen=jiechen*i
  7.     list1.append(jiechen)

  8. for i in list1:
  9.     test=test+str(i)
  10. if len(test)%40==0:
  11.     for i in range (1,(len(test)//40)+1):
  12.         print(str(i)+"   "+test[(i-1)*40:40*i])
  13. else:   
  14.     for i in range (1,(len(test)//40+2)):
  15.         print(str(i)+"   "+test[(i-1)*40:40*i])
  16.    
  17.    
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
0 
发表于 2018-3-11 21:03:41 | 显示全部楼层
def jc(n):
    answer = 1
    for i in range(n):
        answer = answer * (i + 1)
    return answer

def main(n = 50):
    str1 = ''
    for i in range(50):
        str1 += str(jc(i + 1))
    for i in range(len(str1)//40 + 1):
        str2 = str1[40 * i : 40 * (i + 1)]
        print ("(%2d)"%(i+1),str2)
main()

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

小甲鱼强烈推荐上一条 /1 下一条

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号

GMT+8, 2018-9-23 01:56

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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