Python 如何使用-1000到1000之间的n个整数创建文件?

Python 如何使用-1000到1000之间的n个整数创建文件?,python,file,Python,File,我的程序应该验证n是一个正整数。如果不是,则应返回字符串“输入一个正整数”。如果n为正,则应创建一个名为给定的文件,其中包含-1000到1000(随机)之间的n个整数。我想这就是你打开文件的方式,但我不知道下一步该怎么办 import random def createFile(myFile,n): myFile="fileName" outFile=open(myFile,"w") if n<0:

我的程序应该验证n是一个正整数。如果不是,则应返回字符串“输入一个正整数”。如果n为正,则应创建一个名为给定的文件,其中包含-1000到1000(随机)之间的n个整数。我想这就是你打开文件的方式,但我不知道下一步该怎么办

    import random
    def createFile(myFile,n):
         myFile="fileName"
         outFile=open(myFile,"w")

         if n<0:
             return "Enter a positive integer."
随机导入
def createFile(myFile,n):
myFile=“fileName”
outFile=open(myFile,“w”)

如果n使用
random.sample
范围中提取n个值。将其包装在列表中,以将整数转换为字符串,添加换行符,并将其传递给
writelines
方法

import random
def createFile(myFile,n):

     with open(myFile,"w") as outFile:
        outFile.writelines(["{}\n".format(x) for x in random.sample(range(-1000,1001),n)])

createFile("foo.txt",45)

使用
random.sample
范围中提取n个值。将其包装在列表中,以将整数转换为字符串,添加换行符,并将其传递给
writelines
方法

import random
def createFile(myFile,n):

     with open(myFile,"w") as outFile:
        outFile.writelines(["{}\n".format(x) for x in random.sample(range(-1000,1001),n)])

createFile("foo.txt",45)

好的。。。第一件事是玩(在Python3中)或
raw\u input
(在Python2中)来询问用户一个数字。我建议你试试这个,先打几个负数,再打个正数。您甚至可以尝试键入无法转换为
int
的内容,以查看发生的异常:

number = -1
while number < 0:
    number_string = input("Enter a possitive number. ")
    number = int(number_string)
print("Yay! Got a positive number: %s" % number)
如果您不想在
中使用特殊关键字
(这是您应该做的,并且非常值得您调查),您可以始终执行以下操作:

outFile = open("./stack_046.txt", "w")
while number > 0:
    random_generated = random.randint(-1000, 1000)
    outFile.write(str(random_generated))
    outFile.write("\n")
    number -= 1
outFile.close()

好的。。。第一件事是玩(在Python3中)或
raw\u input
(在Python2中)来询问用户一个数字。我建议你试试这个,先打几个负数,再打个正数。您甚至可以尝试键入无法转换为
int
的内容,以查看发生的异常:

number = -1
while number < 0:
    number_string = input("Enter a possitive number. ")
    number = int(number_string)
print("Yay! Got a positive number: %s" % number)
如果您不想在
中使用特殊关键字
(这是您应该做的,并且非常值得您调查),您可以始终执行以下操作:

outFile = open("./stack_046.txt", "w")
while number > 0:
    random_generated = random.randint(-1000, 1000)
    outFile.write(str(random_generated))
    outFile.write("\n")
    number -= 1
outFile.close()

你是说-1000到1000之间的随机数吗?我认为你不应该从这个函数返回字符串。。。另外,您是否尝试过使用该模块?
myFile=“fileName”
覆盖您与
createFile(“某些文件名”)
一起使用的文件名。您确定要这样做吗?这是一个相当糟糕的功能设计。除此之外,当n>0时,文件指针如何返回到调用函数?即使这是返回值,让函数返回字符串或文件句柄也不是特别有用。你是说-1000到1000之间的随机数吗?我认为你不应该从这个函数返回字符串。。。另外,您是否尝试过使用该模块?
myFile=“fileName”
覆盖您与
createFile(“某些文件名”)
一起使用的文件名。您确定要这样做吗?这是一个相当糟糕的功能设计。除此之外,当n>0时,文件指针如何返回到调用函数?即使这是返回值,让函数返回字符串或文件句柄也不是特别有用。