2016-01-14 1 views
-3
elif a == "other": 
    numbers = [randrange(33, 126) for _ in range(8)] 
    for n in numbers: 
     print(n) 
     print(chr(n)) 
    sum(numbers) 
    numbercomp = numbers /8 -32 

я пытаюсь преобразовать список номеров, которые случайно сгенерированных в целое, так что я могу разделить их на 8 и минус 32.Преобразование случайно сгенерированный список чисел в целые

+0

Что проблема у вас возникли? –

+3

Я считаю, что вам просто нужно сохранить результат суммы - 'numbers = sum (numbers)' –

+0

То, что вы просите, невозможно. Вы просите преобразовать список в целое число. Как раз с этим дескрипцией, решения нет. – tglaria

ответ

0

Из Вашего вопроса, его похоже, вы хотите сгенерировать 8 случайных чисел из диапазона 33-126. Затем суммируйте числа и разделите их на 8. Затем вы хотите вычесть 32 из него.

Вы создали список номеров в порядке. Вам просто нужно сохранить сумму в переменной, а затем использовать ее. Я хотел бы сделать это следующим образом:

numbers = [randrange(33, 126) for _ in range(8)] 
num_sum = sum(numbers) 
numbercomp = (num_sum/8) - 32 
0

Если я понимаю правильно, вы хотите получить список целых чисел с заданным преобразованием. Это было бы быстрее, используя функцию , но я ожидаю, что это легче понять. Меня беспокоит трансформация, так как она гарантирует отрицательные числа - любопытный результат для большинства приложений.

from random import randrange 
numbers = [randrange(33, 126) for _ in range(8)] 
for n in numbers: 
    print(n) 
    print(chr(n)) 
sum(numbers) 
numbercomp = [int(_)/8 - 32 for _ in numbers] 
print numbercomp 

Пример вывода:

121 
y 
80 
P 
79 
O 
70 
F 
54 
6 
98 
b 
82 
R 
125 
} 
[-17, -22, -23, -24, -26, -20, -22, -17] 

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

  • Нет связанных вопросов^_^