擅长:python、mysql、java
<p>您的代码中有两个问题(据我所知):</p>
<p>a。您需要首先将用户输入(将是字符串)转换为元组。您可以使用:</p>
<pre><code>t = tuple(int(x.strip()) for x in input("insert tuple (0 to stop): ").split(','))
</code></pre>
<p>b。您需要将<code>while</code>循环测试表达式修改为:</p>
<pre><code>while len(t):
</code></pre>
<p>我所做的假设:</p>
<ol>
<li>您希望用户键入逗号分隔的值(因为列表中只有一个值元组对我来说没有意义。如果我遗漏了什么,请纠正我)</li>
<li>如果用户没有输入任何值(例如,按下了Enter键),则希望结束while循环</李>
</ol>
<p>如果我的假设正确,请尝试以下方法:</p>
<pre><code>def check_int(s):
if len(s) == 0:
return False
if s[0] in ('-', '+'):
return len(s) > 0 and s[1:].isdigit()
return s.isdigit()
sList=[]
x=tuple(int(x.strip()) for x in input("insert tuple (0 to stop): ").split(',') if check_int(x.strip()))
while len(x):
sList.append(x)
x=tuple(int(x.strip()) for x in input("insert tuple (0 to stop): ").split(',') if check_int(x.strip()))
print(sList)
</code></pre>