while 循环中的数据不会追加到列表中

The data from the while loop doesn't append to the list

提问人:Drew0429 提问时间:3/27/2023 最后编辑:Drew0429 更新时间:3/27/2023 访问量:57

问:

我想制作一个程序,将 while 循环中的数据添加到列表中,并计算数据。但是,当我使用 .append 时,它不返回任何内容。

structure = input("Equation: ")
print("RANGE")
upper_lim = int(input("Upper limit: "))
value_i = int(input("The value of 'i': "))
nth = [""]
substitution = [""]

while value_i <= upper_lim and "i" in structure and "+" not in structure:
    substitution = print(structure.replace("i", "(" + str(value_i) + ")"))
    value_i += 1 
    nth.append(substitution)


while value_i <= upper_lim and "i" in structure:
    substitution = print(structure.replace("i", "(" + str(value_i) + ")"))
    value_i += 1
    nth.append(substitution)
    
print(nth)

结果是:

   ['', None, None, None]

而不是类似的东西:

   [numbers,numbers,numbersr]
python-3.x 列表 while-loop append

评论

3赞 inspectorG4dget 3/27/2023
什么是和?请将您的帖子编辑为最小、完整和可重复的value_istructure
4赞 Michael Butscher 3/27/2023
print返回 always 。None
1赞 inspectorG4dget 3/27/2023
@Drew0429:请将您的帖子编辑为最小、完整和可重复的
1赞 inspectorG4dget 3/27/2023
请编辑您的帖子,以包含您提供的输入以及预期和观察到的输出
1赞 Jorge Luis 3/27/2023
使用哪种输入?

答:

0赞 Sarthak 3/27/2023 #1
obj={"one":"1","two":"2"}
while i<5:
    substitution = print(obj) #obj will get printed
    i += 1 
    print("subs = ",substitution) #substitution will have None, since print from the above line will return None
    nth.append(substitution)

Print() 显示项目,但返回 None,它保存在替换变量中

评论

0赞 B Remmelzwaal 3/27/2023
那么,为什么不同时显示正确的版本呢?
0赞 Drew0429 3/27/2023
有没有办法将数据从替换变量收集到列表中?
0赞 Sarthak 3/27/2023
因此,如果里面的代码显示正确的输出,那么我们可以删除打印,其余代码将保持不变,因此替换变量将具有所需的结果并将附加到列表中?print()
0赞 Drew0429 3/28/2023
您认为我为什么要打印输出?因为我需要它。如果“None”是变量的打印结果,您认为结果是否被追加到列表中?