gpt4 book ai didi

python - 为什么我的变量没有定义,我该如何解决?

转载 作者:行者123 更新时间:2023-11-28 19:53:11 24 4
gpt4 key购买 nike

with open("RoundOneTotalScores.txt") as f:
lines = f.readlines()
values = [int(line.split(',')[1]) for line in lines]
smallest = (min(values))
smallest2 = (sorted(values)[:2])
highest4 = (sorted(values)[2:])

W1 = str(highest4[0])
W2 = str(highest4[1])
W3 = str(highest4[2])
W4 = str(highest4[3])

Myfile = open("RoundOneTotalScores.txt", "r")

for line in Myfile:
if W1 in line.split(",")[1]:
W1L = (line.split(",")[0])

for line in Myfile:
if W2 in line.split(",")[1]:
W2L = (line.split(",")[0])

for line in Myfile:
if W3 in line.split(",")[1]:
W3L = (line.split(",")[0])

for line in Myfile:
if W4 in line.split(",")[1]:
W4L = (line.split(",")[0])

Myfile = open("RoundOneWinners.txt", "a")

Myfile.write(W1L)
Myfile.write(",")
Myfile.write(W1)
Myfile.write("\n")
Myfile.write(W2L)
Myfile.write(",")
Myfile.write(W2)
Myfile.write("\n")
Myfile.write(W3L)
Myfile.write(",")
Myfile.write(W3)
Myfile.write("\n")
Myfile.write(W4L)
Myfile.write(",")
Myfile.write(W4)

Myfile.close()

上面的代码执行以下操作:打开一个包含六个字母的文本文件,每个字母都有一个数字。它找到这些数字中最高的四个,然后找到等效的字母。当我尝试将其保存到新的文本文件时,出现此错误:

Traceback (most recent call last):
File "D:\NEA Real\Test5.py", line 37, in <module>
Myfile.write(W2L)
NameError: name 'W2L' is not defined

为什么没有定义 W2L,我该如何定义它?

最佳答案

因为只有定义,如果这个条件是true:

if W2 in line.split(",")[1]:

编辑

添加了来自 roganjosh 的推荐的解决方案和 me .

用空字符串在顶部定义所有 W1L - W4L

W1L = ''
W2L = ''
W3L = ''
W4L = ''

或者在其他情况下:

for line in Myfile:
if W2 in line.split(",")[1]:
W2L = (line.split(",")[0])
else:
W2L = ''

关于python - 为什么我的变量没有定义,我该如何解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46254013/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com