当我使用if
语句时,我将如何循环以下代码,我一直收到错误。我试图打印出以下数字,511887并使用条件语句比较每个4位二进制数,但我一直收到错误:NameError: name 'bin_list' is not defined
x=("bin_list")
y=("bin_list[SN_0]")
["0001"]
"0101"
"0001"
"0001"
"1000"
"1000"
"0111"
SN_bin_0 = bin_list[SN_1]
for x in range (0,7):
for index in range(len(L)):
print (y)
SN_bin_1 = bin_list[SN_5]
for x in range (1,7):
for index in range(len(L)):
print (y)
SN_bin_2 = bin_list[SN_1]
for x in range (2,7):
for index in range(len(L)):
print (y)
SN_bin_3 = bin_list[SN_1]
for x in range (3,7):
for index in range(len(L)):
print (y)
SN_bin_4 = bin_list[SN_8]
for x in range (4,7):
for index in range(len(L)):
print (y)
SN_bin_5 = bin_list[SN_8]
for x in range (5,7):
for index in range(len(L)):
print (y)
SN_bin_6 = bin_list[SN_7]
for x in range (6,7):
for index in range(len(L)):
print (y)
答案 0 :(得分:1)
<强> 1。列表
而不是写作:
["0001"]
"0101"
"0001"
"0001"
"1000"
"1000"
"0111"
你可以把它列为一个清单:
bin_list = ["0101","0001","0001","1000","1000","0111"]
解释:
variable = [item1,item2,item3]
bin_List[1]
将返回字符串"0001"
。 <强> 2。变量值x
而不是写作:
x=("bin_list")
你应该这样做:
x=(bin_list)
解释:
bin_list
上的引号使其成为字符串。您希望x
的值为列表bin_list
。 x
分配给它之前,您必须创建(参见第1步)。 第3。变量值y
而不是写作:
y=("bin_list[SN_0]")
你应该这样做:
y= bin_list[SN_0]
解释:
bin_list[SN_0]
上的引号使其成为字符串。您希望y
的值为列表[SN_0]
的索引bin_list
处的项目。 <强> 4。未定义的变量
以下是 undefined :
[SN_0]
[SN_1]
[SN_5]
[SN_8]
L
每个人都需要一个值,例如:
SN_0 = 0
SN_1 = 1
SN_5 = 5
SN_8 = 8
L = x
解释:
L
应该引用该列表,则可以将其替换为x
,因为该列表已经分配了变量x
。<强> 4。压痕强>
以下代码有一个额外的缩进:
SN_bin_1 = bin_list[SN_5]
for x in range (1,7):
for index in range(len(L)):
print (y)
SN_bin_2 = bin_list[SN_1]
for x in range (2,7):
for index in range(len(L)):
print (y)
SN_bin_3 = bin_list[SN_1]
for x in range (3,7):
for index in range(len(L)):
print (y)
SN_bin_4 = bin_list[SN_8]
for x in range (4,7):
for index in range(len(L)):
print (y)
应该是:
SN_bin_1 = bin_list[SN_5]
for x in range (1,7):
for index in range(len(L)):
print (y)
SN_bin_2 = bin_list[SN_1]
for x in range (2,7):
for index in range(len(L)):
print (y)
SN_bin_3 = bin_list[SN_1]
for x in range (3,7):
for index in range(len(L)):
print (y)
SN_bin_4 = bin_list[SN_8]
for x in range (4,7):
for index in range(len(L)):
print (y)
答案 1 :(得分:0)
您的代码似乎存在一些问题。以下是无效的python:
x=("bin_list")
y=("bin_list[SN_0]")
["0001"]
"0101"
"0001"
"0001"
"1000"
"1000"
"0111"
我认为你想要的是在列表中包含这些值,这可以这样做:
bin_list = ["0101", "0001", "0001", "1000", "1000", "0111"]
接下来,您将使用未定义的变量访问列表。您需要使用整数或事先定义SN_0
。
y = bin_list[0]
或
SN_0 = 0
y = bin_list[SN_0]
最后,你的缩进在大多数循环中都没有了。你有:
SN_bin_1 = bin_list[SN_5]
for x in range (1,7):
for index in range(len(L)):
print (y)
你想:
SN_bin_1 = bin_list[SN_5]
for x in range (1,7): # <-- one less indent here
for index in range(len(L)):
print (y)
我无法准确地告诉您的代码应该做什么,似乎您没有使用许多变量,而且您的目标是在一定时间内打印y
的值。一旦您修复了这些错误,如果代码仍未达到预期效果,请打开一个新问题。