python帮助!以10为基数的int()的文本无效:

2024-03-29 00:45:58 发布

您现在位置:Python中文网/ 问答频道 /正文

hi当前正在执行一个代码,其中程序调用两个文件,一个是单词的位置,另一个是单词,下面的代码将它们组合在一起,但是当我更改要从文件导入的代码时,会出现以下错误(if compressed_sentence[(int(i)-1)]==uncompressed:ValueError:以10为基数的int()的文本无效:“['1',”)

下面是我的代码:

uncompressed = 0

file1 = open ("NonDupT2.txt" , "r")
compressed_sentence=file1.read()
file1.close()

file1 = open ("PositionT2.txt" , "r")
compressed_Positionsonly=file1.read()
file1.close()

compressed_Positions= compressed_Positionsonly.split()

print(str(compressed_Positions))

for i in compressed_Positions:
    if compressed_sentence[(int(i)-1)]==uncompressed:    
        print(compressed_sentence[(int(i))])
        uncompressed = compressed_sentence[(int(i))]

    else:
        print(compressed_sentence[(int(i)-1)])
        uncompressed=compressed_sentence[(int(i)-1)]

    print(str(int(i)))

然而,当程序确定变量时,它是有效的

^{pr2}$

Tags: 代码程序txtclosereadifopen单词
1条回答
网友
1楼 · 发布于 2024-03-29 00:45:58

问题是压缩后的峎u位置被错误读取。文件将内容作为一个字符串读取。该字符串是文本文件的全部内容。在

split操作符生成一个字符串列表。该列表的第一个元素是从文件到第一个空格的所有内容

'[1,'

这就是int()所解释的,但它不起作用。我认为您的PositionT2.txt包含:

^{pr2}$

如果它包含:

1 1 2 1 3

要使程序与具有显式定义的示例一样工作,还需要一个用于压缩句子的split运算符,并且NonDupT2.txt文件必须包含

hello hello why hello lmao

也可以在文本文件中使用换行符作为分隔符,而不是空格。在

祝你好运, 乔斯特

相关问题 更多 >