в python я хочу получить два числа, повторять первое число столько, сколько второе

#python #python-3.x

#python #python-3.x

Вопрос:

У меня проблема с кодом. Я хочу определить функцию, которая получает два целых числа, например ( x , y ). Затем столько, сколько y есть, x повторите и, наконец, я хочу их суммировать.

например:

Если функция получает (4, 5) , результат должен быть таким:

44444 4444 444 44 4

или, если (2, 3) , результат должен быть таким:

 222 22 2=246 
  

Комментарии:

1. У меня проблема с кодом — я не вижу никакого кода

2. def f(x,y): возвращает сумму ([int(str(x)*y) для y в диапазоне (1,y 1)])

Ответ №1:

Вы можете выполнять репликацию своих данных при умножении str на int .

Например, если я хочу повторить слово hello 3 раза:-

 print("hello " * 3)
  

ВЫВОД

hello hello hello

Код вопроса

 def fact(x, y):
    alist = []
    for i in range(1, y 1):
      alist.append(int(str(x)*i))
    
    summ= sum(alist)
    print(alist, "= ", summ)
   
      
fact(2, 3)
  

ВЫВОД

 [2, 22, 222] =  246

[Program finished]
  

Комментарии:

1. Большое спасибо. Есть ли способ не использовать список? просто создать серию чисел и суммировать их?

2. @mjshvi, на самом деле это то, что я там сделал… Я добавил ряд необходимых номеров формата, затем суммировал их с помощью sum() функции. Запустите код, и вы поймете, что происходит, я добавил формат к выводу, чтобы вы могли понять, как это работает. Пожалуйста, если этот ответ вам поможет, пожалуйста, отметьте мой ответ как правильный ответ

3. @mjshvi … Не используя список, нужно ли вам суммирование только без объявления чисел?

4. Предоставление ряда чисел без их сохранения обеспечит недостаточную производительность… Вы можете сделать это в вашем случае, но если вам не нужно указывать номера, которые вы отправляете, чтобы показать процесс, как он проходит.

5. Я просто хочу вернуть сумму