只是想比较一个项目但得到一个 UndefinedVariableError
Simply want to compare an item but get a UndefinedVariableError
我正在编写一个简单的脚本来将输入消息转换为一系列十进制 ascii 代码并不断收到 UndefinedVariableError
并且无法弄清楚为什么会这样。这是我的代码:
def convert_text_dec():
message_to_encode = input('Enter a message: ')
glossary = pd.read_excel('ascii-table.xls', skiprows=[0,1],
usecols=['dex', 'symbol'], nrows=256)
ascii_message = []
letters = list(message_to_encode)
for item in letters:
letter = glossary.query(f'symbol=={item}')['dex'].iloc[0]
ascii_message.append(letter)
print(ascii_message)
在同一个文件中,我有一个几乎完全相同的函数,它做相反的事情并且它没有问题,但是当我尝试 运行 convert_text_dec
并且例如输入 'hello'作为消息,我收到以下错误:
File "F:/python/binary_to_text/bin2text.py", line 52, in <module>
convert_text_dec()
File "F:/python/binary_to_text/bin2text.py", line 47, in convert_text_dec
letter = glossary.query(f'symbol=={item}')['dex'].iloc[0]
...
...
UndefinedVariableError: name 'h' is not defined
我做错了什么?
在您的代码中:
for item in letters:
letter = glossary.query(f'symbol=={item}')['dex'].iloc[0]
ascii_message.append(letter)
您正在为每个字母创建查询,例如。 symbol==h
。 Pandas 正在尝试评估查询,但未在任何地方定义变量 h
。
用 "
引用 {item}
应该可以解决问题:
letter = glossary.query(f'symbol=="{item}"')['dex'].iloc[0]
我正在编写一个简单的脚本来将输入消息转换为一系列十进制 ascii 代码并不断收到 UndefinedVariableError
并且无法弄清楚为什么会这样。这是我的代码:
def convert_text_dec():
message_to_encode = input('Enter a message: ')
glossary = pd.read_excel('ascii-table.xls', skiprows=[0,1],
usecols=['dex', 'symbol'], nrows=256)
ascii_message = []
letters = list(message_to_encode)
for item in letters:
letter = glossary.query(f'symbol=={item}')['dex'].iloc[0]
ascii_message.append(letter)
print(ascii_message)
在同一个文件中,我有一个几乎完全相同的函数,它做相反的事情并且它没有问题,但是当我尝试 运行 convert_text_dec
并且例如输入 'hello'作为消息,我收到以下错误:
File "F:/python/binary_to_text/bin2text.py", line 52, in <module>
convert_text_dec()
File "F:/python/binary_to_text/bin2text.py", line 47, in convert_text_dec
letter = glossary.query(f'symbol=={item}')['dex'].iloc[0]
...
...
UndefinedVariableError: name 'h' is not defined
我做错了什么?
在您的代码中:
for item in letters:
letter = glossary.query(f'symbol=={item}')['dex'].iloc[0]
ascii_message.append(letter)
您正在为每个字母创建查询,例如。 symbol==h
。 Pandas 正在尝试评估查询,但未在任何地方定义变量 h
。
用 "
引用 {item}
应该可以解决问题:
letter = glossary.query(f'symbol=="{item}"')['dex'].iloc[0]