Python只能使用变量一次
我正在玩Python,但遇到了一些我无法解释的行为 当我在文件顶部定义一个映射(我相信它在Python中被调用)时,当我运行两次代码时,我会得到一个数组,表示Python只能使用变量一次,python,Python,我正在玩Python,但遇到了一些我无法解释的行为 当我在文件顶部定义一个映射(我相信它在Python中被调用)时,当我运行两次代码时,我会得到一个数组,表示字符串索引超出范围。但是,当我在方法中定义map/dictionary时,它就会一次又一次地毫无问题地运行 试着给出一个简单的例子。这是我正在运行的主要方法 if __name__ == '__main__': while True: hex = convert_binary_to_hex([1,1,1,1]) print(
字符串索引超出范围
。但是,当我在方法中定义map/dictionary时,它就会一次又一次地毫无问题地运行
试着给出一个简单的例子。这是我正在运行的主要方法
if __name__ == '__main__':
while True:
hex = convert_binary_to_hex([1,1,1,1])
print(hex)
这将调用一个函数,该函数将文件拆分为正确的部分等所有琐碎的事情。
一旦我得到十进制的结果(因此[1,1,1,1]
被转换为15),我调用这个函数,它就是发生错误的地方:
def decimal_sum_chunk(chunk):
chunk.reverse()
sum = 0
for i in range(len(chunk)):
sum += chunk[i] * (2**i)
return digit_to_hex(sum)
def digit_to_hex(number):
if number < 10:
return str(number)
# else we look up the value in the map
return hex[number]
我已经创建了这个,当它不工作时,它会显示完整的代码。为了让它工作,我可以将hex
map/dictionary放在函数中
谢谢 您正在用
hex=convert\u binary\u to\u hex([1,1,1,1])
覆盖hex的值。。。(返回字符串)@Rawing damn。。是的,有时候你需要一双额外的眼睛。谢谢Fid您是否在函数中使用globals hex
来尝试相同的程序?您正在用hex=convert\u binary\u to\u hex([1,1,1,1])覆盖hex
的值。。。(返回字符串)@Rawing damn。。是的,有时候你需要一双额外的眼睛。谢谢Fid是否在函数中使用globals hex
来尝试相同的程序?
def digit_to_hex(number):
hex = {10 : 'A', 11 : 'B', 12 : 'C', 13 : 'D', 14 : 'E', 15 : 'F'}
if number < 10:
return str(number)
# else we look up the value in the map
return hex[number]