我的任务分配如下:
编写一个将一系列随机数写入文件的函数。每个随机数应在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)。但是我不知道如何根据用户输入来传递文件名。任何帮助表示赞赏!
答案 0 :(得分:0)
您可以按以下方式将变量作为方法参数传递:
def main():
// get input from user
rand_gen(my_file);
def rand_gen(file_name):
// here you can use the parameter file_name
我建议您看一下一些基本概念,例如参数,变量,变量范围等。
答案 1 :(得分:0)
只需从用户那里获取文件名,然后将其传递给函数即可。然后将文件名传递给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()