首先感谢您的时间和答案。我的任务是让我的程序打开一个文本文件,读取它的数据,使每个单词都是一个不同的字符串,并创建一个HTML文档,将这些字符串中的每一个显示为随机颜色。因此,它几乎要求我们从文本文件中取出每个单词,将每个单词更改为随机颜色,并从中创建HTML文档。这是我到目前为止的代码:
import random
def main():
filename = input("Enter Text File:")
infile = open(filename, "r")
filename2 = input("Enter HTML Document:")
outfile = open(filename2, "w")
print("<html>", file=outfile)
print(" <head>", file=outfile)
print(" </head>", file=outfile)
print(" <body>", file=outfile)
filestring = infile.read()
file = filestring.split()
filelength = len(file)
num = int(random.uniform(0,256))
num1 = int(random.uniform(0,256))
num2 = int(random.uniform(0,256))
i = 0
for i in range(filelength):
r = num
g = num1
b = num2
rgb = "{0:02X}{1:02X}{2:02X}".format(r, g, b)
print(' <span style="color:#{0}">{1}</span>'.format(rgb, file[i]),file=outfile)
i = 0 + 1
print(" </body>", file=outfile)
print("</html>", file=outfile)
main()
此代码有效但不会将每个单词更改为随机颜色,只是将所有单词更改为相同的颜色。我很感激答案。
答案 0 :(得分:9)
由于这是作业,我将限制我的回答:
您当前正在生成一种随机颜色,并将其应用于每个单词。你应该做的是为每个单词生成一个新的随机颜色。
答案 1 :(得分:1)
此代码应该在循环中(对于范围内的i(文件长度):)
num = int(random.uniform(0,256))
num1 = int(random.uniform(0,256))
num2 = int(random.uniform(0,256))
答案 2 :(得分:0)
您的代码(我还没有执行它)似乎是正确的(忽略没有异常处理)。您需要为每个字更改num
,num1
和num2
。这意味着,您需要将num
,num1
和num2
放在循环for i in range(filelength):
中。
答案 3 :(得分:0)
试试这个:
import random
def main():
filename = input("Enter Text File:").strip()
infile = open(filename, "r")
filename2 = input("Enter HTML Document:").strip()
outfile = open(filename2, "w")
print("<html><head></head><body>",file=outfile)
for line in infile:
for word in line.split():
(r,g,b)=[int(random.uniform(0,256)) for x in range(3)]
rgb = "{0:02X}{1:02X}{2:02X}".format(r, g, b)
print(' <span style="color:#{0}">{1} </span>'.format(rgb,word),file=outfile)
print("<br>",file=outfile)
print(" </body>", file=outfile)
print("</html>", file=outfile)
main()