2016-12-10 29 views
0

我是python的新手,我正在用黑客等級練習我的編碼技能。我遇到了一個問題,我必須一個接一個地打印一系列數字,而不在它們之間添加任何新的行或空格,最重要的是我不能使用字符串方法來獲得所需的輸出。在不使用字符串的情況下連續打印數字

舉一個例子,如果 輸入

3

然後輸出應該

123

如何可以不用串?

請指引我...

在此先感謝

+0

Python 2.7版或Python3? –

回答

2

。您可以使用end關鍵字print()方法來避免空間:

num = int(input("Enter number: ")) 
for i in range(1, num+1): 
    print(i, end='') 
+0

Python3支持 –

+0

非常感謝。學到了新東西! :) –

0

您可以用math.log10()使用沿着創建使用range()自定義函數:

import math 

def get_my_number(num): 
    my_num = 0 
    for i in range(1, num+1): 
     digits = int(math.log10(i))+1 # count number of digits in number 
     my_num = my_num * (10 ** digits) + i 
    return my_num 

採樣運行:

>>> get_my_number(3) 
123 
>>> get_my_number(13) # For number greater than 10 
12345678910111213 

這樣你會得到執行器人的價值和你會不會只是在打印控制檯

+0

對於超過9的數字,它會產生錯誤的輸出。 –

+0

好的。那麼解決方法是什麼數量超過10 –

+0

更新了答案 –

相關問題