在Python中,我將如何去處理用戶輸入的整數以及整數中每個數字的兩倍還是三倍?如何將用戶輸入整數中的每個數字加倍和加倍?
例如:
123 - > 112233 或 123 - > 111222333
在Python中,我將如何去處理用戶輸入的整數以及整數中每個數字的兩倍還是三倍?如何將用戶輸入整數中的每個數字加倍和加倍?
例如:
123 - > 112233 或 123 - > 111222333
一個字符串和一個整數會產生串N次之間的操作者*
。所以,你可以打破你輸入的字符,每一個相乘,並重新加入他們的行列:
result = "".join([x * 2 for x in str(user_inp)])
除了@Mureinik解決方案,您可以使用map
:
def multiply(number, times):
return ''.join(map(lambda x : x*times, str(number)))
或取決於當你需要決定如何繁殖你可能最終有以下功能:
def digitMultiplierFor(number):
def inner(times):
return ''.join(map(lambda x : x*times, str(number)))
return inner
用法:
multiplier = digitMultiplierFor(123)
print multiplier(2) # output 112233
print multiplier(3) # output 111222333
或者
def digitMultiplierBy(times):
def inner(number):
return ''.join(map(lambda x : x*times, str(number)))
return inner
用法:
multiplier = digitMultiplierBy(3)
print multiplier(123) # output 111222333
print multiplier(234) # output 222333444
如果您需要整數結果只是包裝串int()
導致如果你有這種自行解決,會在哪裏開始呢? – Chris
這個邏輯應該很簡單,對吧?爲什麼不先給它一個機會,當你陷入困境時回來 – WillardSolutions
這個問題並不像降低成本那麼糟糕。你想結果轉換回整數或離開字符串? –