如何在用户输入的整数中将每个数字加倍和加倍?

时间:2017-02-24 14:35:27

标签: python string

在Python中,如何获取用户输入的整数,并将整数中的每个数字加倍或加倍?

例如:

123 - > 112233 要么 123 - > 111222333

2 个答案:

答案 0 :(得分:1)

字符串和整数之间的*运算符将产生N次字符串。所以你可以打破你对字符的输入,将每个字符相乘并重新加入它们:

result = "".join([x * 2 for x in str(user_inp)])

答案 1 :(得分:0)

除了@Mureinik解决方案,您还可以使用List<YourObject> copy = new ArrayList<>(MainActivity.getBasketList());

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

包装字符串结果