Python 如何将int变量添加到txt文件
我需要将rand_Num添加到一个名为rand_Number的空白txt文件中。我需要做100000次。这是我的密码。。。 #导入所需的库Python 如何将int变量添加到txt文件,python,python-3.x,text,Python,Python 3.x,Text,我需要将rand_Num添加到一个名为rand_Number的空白txt文件中。我需要做100000次。这是我的密码。。。 #导入所需的库 import random import turtle # screen variables wn_wid = 550 wn_length = 350 wn_title = "Random output" wn_background_col = "#3d3d3d" wn_tracer = 0 # creates and configures windo
import random
import turtle
# screen variables
wn_wid = 550
wn_length = 350
wn_title = "Random output"
wn_background_col = "#3d3d3d"
wn_tracer = 0
# creates and configures window
wn = turtle.Screen()
wn.setup(wn_wid, wn_length)
wn.title(wn_title)
wn.bgcolor(wn_background_col)
wn.tracer(wn_tracer)
# creates text
text = turtle.Turtle()
text.speed(0)
text.color("#ffffff")
text.pu()
text.hideturtle()
# text variables
font = "Comic Sans MS"
font_size = 48
alignment = "center"
# rep_num variable
rep_Num = 0
# central loop
# loop repeat variable
repeats = 100000
# main loop
for reps in range(repeats):
# adds 1 to rep_Num variable
rep_Num += 1
# generates random number
rand_Num = random.randint(0, 100)
# puts text on screen
text.clear()
text.write(str(rep_Num) + ": " + str(rand_Num), align=alignment, font=(font, font_size, "normal"))
# checks to see whether it needs to close win
if rep_Num == repeats:
wn.bye()
break
# updates window
wn.update()
这是我所有的代码,所有的工作都是我想要的。我只需要在循环中添加一些东西,让我可以将rand_Num变量添加到一个名为rand_Numbers的txt中的新行,我使用CSV模块完成了这项工作,这将使随着项目的增长,添加其他数据变得更加容易。即使这不是您的意图,生成的文件仍然可以轻松地用于数据分析目的。如果您确实需要文本文件,也可以通过这种方式生成文本文件 我增加了这个功能:
def write_random(rand_Num):
num = [rand_Num]
with open("random_values.csv", "a", newline='', encoding="utf-8") as csvfile:
writer = csv.writer(csvfile)
writer.writerow(num)
它生成一个csv文件(可以用Excel处理,以防您想用数据或其他东西进行数据分析),每个随机值都在一个单独的行上
如果你真的想要一个文本文件,你可以把扩展名从.csv改为.txt,只要你每行只包含一条数据
以下是完整的工作代码:
import random
import turtle
import csv
def write_random(rand_Num):
num = [rand_Num]
with open("Rand_Number.csv", "a", newline='', encoding="utf-8") as csvfile:
writer = csv.writer(csvfile)
writer.writerow(num)
# screen variables
wn_wid = 550
wn_length = 350
wn_title = "Random output"
wn_background_col = "#3d3d3d"
wn_tracer = 0
# creates and configures window
wn = turtle.Screen()
wn.setup(wn_wid, wn_length)
wn.title(wn_title)
wn.bgcolor(wn_background_col)
wn.tracer(wn_tracer)
# creates text
text = turtle.Turtle()
text.speed(0)
text.color("#ffffff")
text.pu()
text.hideturtle()
# text variables
font = "Comic Sans MS"
font_size = 48
alignment = "center"
# rep_num variable
rep_Num = 0
# central loop
# loop repeat variable
repeats = 100000
# main loop
for reps in range(repeats):
# adds 1 to rep_Num variable
rep_Num += 1
# generates random number
rand_Num = random.randint(0, 100)
write_random(rand_Num)
# puts text on screen
text.clear()
text.write(str(rep_Num) + ": " + str(rand_Num), align=alignment, font=(font, font_size, "normal"))
# checks to see whether it needs to close win
if rep_Num == repeats:
wn.bye()
break
# updates window
wn.update()
您可以将
与open(file)
synthax一起使用。我会这样写:
with open('Rand_Numbers', 'w') as f:
for reps in range(repeats):
# adds 1 to rep_Num variable
rep_Num += 1
# generates random number
rand_Num = random.randint(0, 100)
f.write(str(rand_Num))
# puts text on screen
text.clear()
text.write(str(rep_Num) + ": " + str(rand_Num), align=alignment, font=(font, font_size, "normal"))
# checks to see whether it needs to close win
if rep_Num == repeats:
wn.bye()
break
# updates window
wn.update()
顺便说一下,您应该删除rep_Num=0和
if rep_Num == repeats:
wn.bye()
break
在代码中,因为循环已经完成了任务。
wn.bye()
将添加到循环之后。有许多教程介绍如何从Python写入文件。如果你在浏览器中搜索“Python文件编写教程”,你会找到比我们在这里能更好地解释这一点的参考资料。