2015-06-24 106 views

回答

5

使用string中任何地方使用的数学,这将是,

for i in range(1,n): 
    print i*(10**i-1)/9 

检查repdigit以获取更多信息。

+0

这在单独的行上打印。我认为小改动会解决它。 – mehtunguh

+0

@mehtunguh由于[原始问题](https://www.hackerrank.com/challenges/python-quest-1)允许多行,因此我这样写。此外,似乎“同一行”是一个格式问题。感谢您的警告。 – Lafexlos

0

您需要在打印语句中指定无换行符。在Python 2,这意味着使用sys.stdout.write或者进口python3 print功能

from __future__ import print_function # python 2 only 
def expand(n): 
    for i in range(1, n+1): 
     for _ in range(i): 
      print(i, end="") 
     print(" ", end="") 
    print("") 


expand(5) 
1 22 333 4444 55555 

后更详细信息时,并就hackerrank原来的问题一个链接,我明白,这实际上不是一个有效的解决方案。不过,如果它有帮助,我会留在这里。

+0

为什么不简单地在末尾简单地用''打印'',... – Falko

+0

@Falko我看不出在这个例子中如何使用它。尝试一下。 – mehtunguh