Спросите у пользователя имя файла, затем передайте это имя файла в качестве аргумента? - PullRequest
0 голосов
/ 28 ноября 2018

Мое назначение было задано следующим образом:

Написать функцию, которая записывает последовательность случайных чисел в файл.Каждое случайное число должно быть в диапазоне от 1 до 500. Приложение должно позволить пользователю указать, сколько случайных чисел будет содержать файл.

Написать еще одну функцию, которая считывает случайные числа из файла, отображает числа, а затем отображает следующее: • Количество случайных чисел, считанных из файла • Сумма чисел • Среднее число • Сформированное наибольшее число • Сгенерированное наименьшее число

Напишите основную функцию, котораявыполняет следующие действия: • просит пользователя ввести имя файла для записи случайных чисел; • передать имя файла в качестве аргумента при вызове функции, записывающей числа в файл; • передать имя файла в качестве аргумента при вызове.функция, которая читает числа из файла

Мой код выглядит следующим образом:

import random
import math
import numpy as np

def main():
    myfile = input("Enter 'filename.txt' here ")
    with open(myfile, 'w+') as f:
        rand_gen()

    return f
    myfile.close

    disp_stats()

def rand_gen():
    for count in range(int(input('How many random numbers should we use?'))
    line = str.random.randint(1,500))
    myfile.write(str.line +'\n'))

def disp_stats():
    myfile = open(f,"r")
    total = 0
    count = 0
    print('The numbers are: ')
    for line in myfile:
        number = int(line)
        total += number
        count +=1
        print(number)

    average = total / count
    data = np.loadtxt(f)
    print('The count is ',count,)
    print('The sum is',total,)
    print('The average is ',format(average, '.2f'))
    print('The minimum value is ',format(np.min(data), '.0f'))
    print('The maximum value is ',format(np.max(data), '.0f'))
    myfile.close

main()

Я могу получить функции rand_gen и disp_stats для записи и чтения в / из указанного файла (например,, random.txt).Но я не могу понять, как передать имя файла на основе пользовательского ввода.Любая помощь приветствуется!

Ответы [ 2 ]

0 голосов
/ 28 ноября 2018

Просто возьмите имя файла у пользователя и передайте его функциям.Затем передайте имя файла open ()

def main():
    file_name = str(input("Enter file name ")
    rand_gen(file_name)

def rand_gen(file_name):
    my_file = open(file_name, mode='w+')
    # perform operations here
    my_file.close()
0 голосов
/ 28 ноября 2018

Вы можете передавать переменные в качестве аргументов метода следующим образом:

def main():
    // get input from user
    rand_gen(my_file);

def rand_gen(file_name):
    // here you can use the parameter file_name

Я предлагаю вам взглянуть на некоторые основные понятия, такие как параметры, переменные, области действия переменных и т. Д.

https://www.python -course.eu / passing_arguments.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...