gpt4 book ai didi

python - 列表可以转换为整数吗

转载 作者:太空狗 更新时间:2023-10-30 02:12:31 24 4
gpt4 key购买 nike

我正在尝试编写一个程序将消息转换为密码。我正在尝试创建一个基本代码来处理。问题就在这里。

data = input('statement')
for line in data:
code = ('l' == '1',
'a' == '2'
'r' == '3',
'y' == '4')
line = line.replace(data, code, [data])
print(line)

当我输入我的名字时,上面程序的这一点是这样的:

larry

输出应该是

12334

但我继续收到这条消息

TypeError: 'list' object cannot be interpreted as an integer

所以我假设这意味着我的代码变量必须是要在 replace() 中使用的整数有没有办法将该字符串转换为整数,或者有其他方法可以解决这个问题?

最佳答案

之所以你原来的代码给你这个错误是因为line.replace(data, code, [data])str.replace 方法可以采用 3 arguments .第一个是要替换的字符串,第二个是替换字符串,第三个可选参数是要替换的字符串实例的数量 - 一个整数。您将列表作为第三个参数传递。

但是,您的代码还存在其他问题。

code 当前为 (False, False, False, False)。你需要的是一本字典。您可能还想在循环之外对其进行分配,这样您就不会在每次迭代时都对其求值。

code = {'l': '1', 'a': '2', 'r': '3', 'y': '4'}

然后,将循环更改为:

data = ''.join(code[i] for i in data)

print(data) 为您提供所需的输出。

但是请注意,如果输入的字母不在字典中,您将收到错误消息。如果键不在字典中,您可以使用 dict.get 方法提供默认值。

data = ''.join(code.get(i, ' ') for i in data)

code.get 的第二个参数指定了默认值。

所以你的代码应该是这样的:

code = {'l': '1', 'a': '2', 'r': '3', 'y': '4'}

data = input()
data = ''.join(code.get(i, ' ') for i in data)

print(data)

关于python - 列表可以转换为整数吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15169146/

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