#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. Я просто хочу вернуть сумму