#python #python-2.7
#python #python-2.7
Вопрос:
Это функция, которая возвращает список случайных чисел длиной от 0 до 9.
import random
def makeList():
y=[]
n=int(raw_input("Enter number"))
for x in range(0,n):
x=random.randint(0,9)
y.append(x)
print y
def main():
makeList()
if __name__ == '__main__':
main()
Теперь я создаю другой файл python с именем main.py и импорт этой функции
— это код, который я написал в main.py . Имя файла — myFunc .
from myFuncs import makeList
makeList()
Теперь
я хочу создать список (скажем, 10 случайных чисел.) что я должен написать внутри main.py файл для достижения этой цели ?
Комментарии:
1.
myList = makeList()
?2. в приведенной выше функции «makelist».. я хочу добавить 10 в raw_input, написав определенный код в main.py досье. как я мог этого добиться?
3. о, мои извинения. Я неправильно прочитал ваш вопрос. Вам нужно вернуть
y
вместо того, чтобы печатать его.
Ответ №1:
Изменение print y
на return y
в первом файле. (и print(makeList())
ниже main()
)
В новом файле, new_list = makeList()
тогда new_list — это сгенерированный список.
Редактировать: более pythonic версия
Файл 1
import random
def make_list(length=10):
return [random.randint(0,9) for _ in range(length)]
def main():
amount = int(raw_input("Enter number"))
print(make_list(amount))
if __name__ == '__main__':
main()
Файл 2
from myFuncs import make_list
new_list = make_list()
print(new_list) # will be default 10
—
Если вы хотите сохранить входные данные в той же функции, это возможно, вот один из способов:
def make_list(length=0):
if not length:
length= int(raw_input("Enter number"))
return [random.randint(0,9) for _ in range(length)]
def main():
print(make_list())
Затем укажите make_list(10)
во втором файле
Комментарии:
1. извините, если я не смог хорошо объяснить, но я хочу написать код в файле 2, который будет печатать 10 случайных чисел без необходимости ввода в консоль «10»
2. ваш код по-прежнему заставляет меня вводить 10, поскольку он просит меня «ввести число».. но я хочу, чтобы программа выполнялась сама, оставляя файл 1 в покое …. записывая что-то только в файл 2
3. вы все еще редактировали файл 1 rite? Оставьте файл 1 в покое… допустим, вам нужен файл 1 независимо .. и с файлом 2 вы должны иметь возможность печатать 10 случайных чисел .. возможно ли это?
4. @gurkha_dawg не удаляя
raw_input
строку из файла 1, он всегда будет запрашивать ее. Я не знаю способа отключить это без изменения этого файла5. Функция makeList имеет n=int(raw_input(«Введите число»)) .. можем ли мы сказать, что n = 10 в файле 2