2017-02-18 2 views
2

Я уже импортировал случайные и сделал список, но мне нужно умножить все целые числа из этого списка и распечатать результат. Но с этой настройкой я просто получаю целую кучу чисел, повторяющихся снова и снова. Я пробовал другие настройки, но ни одна из них, похоже, не работает для этой конкретной проблемы. Должно быть, если (i) обозначает числа в списке i i i i i * i ... и так далее, а затем просто распечатать результат ???как умножить целые числа из случайного списка

listi=[] 

    for i in range(50): 
     listi.append(random.randint(5,70)) 
     teljari=1 
     listi=listi 
     for x in listi: 
      teljari*=x 
      print(teljari) 
+0

, что эта строка 'listi.append (random.randint (5,70))' для? почему '(5,70)'? – RomanPerekhrest

+0

Вы вычисляете произведение каждый раз, когда добавляется новое случайное число. И вы печатаете суб-продукт каждый раз, когда он умножается. Вот почему вы видите много цифр. Кроме того, строка 'listi = listi' не делает ничего полезного. – chapelo

+0

listi.append (random.randint (5,70)), так что 50 номеров в диапазоне - это просто случайные числа между 5 и 70 – Steini

ответ

1

Он сохранил все номера, поскольку у вас была функция печати в цикле for, поэтому каждый раз, когда цикл достиг следующего целого числа, он печатал продукт.

from random import randint 
listi = [] 

for x in range(50): 
    listi.append(randint(5,70)) 

teljari = 1 

for i in listi: 
    teljari *= i 

print(teljari) 

Я думаю, что это должно работать должным образом.

+1

Thanx много, я изучаю python, так что для меня это отличная помощь – Steini

4

Больше pythonesque будет

random_numbers = random.sample(range(5, 70), 50) 
teljari = 1 
other_list = [i * teljari for i in random_numbers] 

Таким образом, вы получите все случайные числа с помощью одной команды, а затем вы можете умножить на какой процесс вы хотите.

2

Это будет работать для вас: -

import random 

uniqueRandomNumberList = random.sample(range(5,70), 50) 

reduce(lambda x, y: x*y,uniqueRandomNumberList) 
+0

Я бы просто добавил, что в python 3, сокращение должно быть импортировано из 'functools'. –

+0

OK Спасибо, брат !! –

Смежные вопросы