擅长:python、mysql、java
<p>请阅读以下几行,以了解如何修复代码中的错误:</p>
<pre><code>sList=[]
x=tuple(input("insert tuple (0 to stop): "))
print("x contains: " + str(x))
print("x type is: " + str(type(x)))
while int(x[0])!=int(0):
print("x contains: " + str(x))
print("x type is: " + str(type(x)))
sList.append(x)
x=tuple(input("insert tuple (0 to stop): "))
print (sList)
</code></pre>
<p>您正在将字符串(0,)与int值0进行比较。
这就是您的版本无法按预期工作的原因。<br/>
我还添加了两个打印,以便更好地理解代码的作用</p>
<p>一旦我们了解了错误的性质以及如何修复它,我想问您为什么在这种情况下使用元组。<br/>
直接使用int是个好主意吗</p>
<p>我们还可以减少行数并删除重复的代码,下面是另一个迭代:</p>
<pre><code>sList=[]
x = None
while x != 0:
print("x contains: " + str(x))
print("x type is: " + str(type(x)))
x = input("Insert 0 to stop: ")
if (x != None) and x.isdigit():
x = int(x)
if x != 0:
sList.append(x)
print (sList)
</code></pre>