我是python的新手,我正在用黑客等級練習我的編碼技能。我遇到了一個問題,我必須一個接一個地打印一系列數字,而不在它們之間添加任何新的行或空格,最重要的是我不能使用字符串方法來獲得所需的輸出。在不使用字符串的情況下連續打印數字
舉一個例子,如果 輸入
3
然後輸出應該
123
如何可以不用串?
請指引我...
在此先感謝
我是python的新手,我正在用黑客等級練習我的編碼技能。我遇到了一個問題,我必須一個接一個地打印一系列數字,而不在它們之間添加任何新的行或空格,最重要的是我不能使用字符串方法來獲得所需的輸出。在不使用字符串的情況下連續打印數字
舉一個例子,如果 輸入
3
然後輸出應該
123
如何可以不用串?
請指引我...
在此先感謝
。您可以使用end
關鍵字print()
方法來避免空間:
num = int(input("Enter number: "))
for i in range(1, num+1):
print(i, end='')
Python3支持 –
非常感謝。學到了新東西! :) –
您可以用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
這樣你會得到執行器人的價值和你會不會只是在打印控制檯
對於超過9的數字,它會產生錯誤的輸出。 –
好的。那麼解決方法是什麼數量超過10 –
更新了答案 –
Python 2.7版或Python3? –