我写了这段代码,但我不明白为什么它会这样工作
I have writen this code but I don't understand why it works like this
我有一个代码,它得到一个数字 n 作为你想要给出的数字的数量,然后我有另一个输入是我们想要给代码的数字,我希望我的代码找到这些数字低于 3 并产生输出,但它工作起来很奇怪!所以帮助我的人,提前多谢
y = []
n = int(input())
for i in range(1,n+1):
x = input()
x = x.split()
for j in x:
j = int(j)
if j < 3:
for j in x:
y.append(j)
break
print(y)
我的输入是这样的:
5个
1 2 3
我的输出应该是:
1 2
但它就像:
['1','1']
您可以试试这个代码:
y = []
n = 5
x = "5 1 2 3 2"
x = x.split()
for j in x: # for each value in x
j = int(j)
if j < 3: # if < 3, append to list
y.append(j)
print(y)
现在您可以实现获取数字的功能并改进return。
你已经与输入混合了。
要么您将其作为一个输入接收,然后需要拆分,要么您一个接一个地接收(n 次)。
在第一个选项中,您需要拆分列表并遍历它并追加,在第二个选项中,您只需要检查每个数字并追加它
在列表的情况下,你不需要开头的 n
y = []
x = input()
x = x.split()
for j in x:
j = int(j)
if j < 3:
y.append(j)
print(y)
我有一个代码,它得到一个数字 n 作为你想要给出的数字的数量,然后我有另一个输入是我们想要给代码的数字,我希望我的代码找到这些数字低于 3 并产生输出,但它工作起来很奇怪!所以帮助我的人,提前多谢
y = []
n = int(input())
for i in range(1,n+1):
x = input()
x = x.split()
for j in x:
j = int(j)
if j < 3:
for j in x:
y.append(j)
break
print(y)
我的输入是这样的: 5个 1 2 3
我的输出应该是: 1 2
但它就像: ['1','1']
您可以试试这个代码:
y = []
n = 5
x = "5 1 2 3 2"
x = x.split()
for j in x: # for each value in x
j = int(j)
if j < 3: # if < 3, append to list
y.append(j)
print(y)
现在您可以实现获取数字的功能并改进return。
你已经与输入混合了。
要么您将其作为一个输入接收,然后需要拆分,要么您一个接一个地接收(n 次)。
在第一个选项中,您需要拆分列表并遍历它并追加,在第二个选项中,您只需要检查每个数字并追加它 在列表的情况下,你不需要开头的 n
y = []
x = input()
x = x.split()
for j in x:
j = int(j)
if j < 3:
y.append(j)
print(y)