问题在于
import math
f = 5.1
k = (math.ceil(f))
for num in range(k, 30):
if all(num%i!=0 for i in range(2,int(math.sqrt(num))+1)):
print (num)
然后结果是
7
11
17
19
23
29
None
那么,如何将这些元素放入列表中?就像
list = [ 7, 11, 13, 17, 19, 23, 29, "None" ]
因为我只想用这种方式打印列表的第一个元素:
for i in x[:1]:
print (i)
7
或者还有其他方法可以解决吗?
答案 0 :(得分:1)
在代码中你正在进行打印,你可以添加一行来附加到列表中。只需在循环外创建一个列表,然后附加到它。像这样:
import math
your_list = [] # the new list you are going to use
f = 5.1
k = (math.ceil(f))
for num in range(k, 30):
if all(num%i!=0 for i in range(2,int(math.sqrt(num))+1)):
print (num)
your_list.append(num) # append the num to your list
如果您仍然希望收集所有数字,但是当您的计算完成后,您只想打印列表中的第一个元素,只需在循环外调用print。所以你的代码现在看起来像:
import math
your_list = [] # the new list you are going to use
f = 5.1
k = (math.ceil(f))
for num in range(k, 30):
if all(num%i!=0 for i in range(2,int(math.sqrt(num))+1)):
print (num)
your_list.append(num) # append the num to your list
print(your_list[0])
答案 1 :(得分:0)
要添加到list
,您必须首先创建list
,然后append
。
您可以使用[i]
获取所需索引的值
myList = list() # Alternatively, myList = []
for i in range(0, 30):
myList.append(i)
print(myList[0])
答案 2 :(得分:0)
一些额外的点是math.ceil返回float,所以它应该涂有int。无需使用for循环打印它。
import math
f = 5.1
required_list = []
k = int(math.ceil(f))
for num in range(k, 30):
if all(num%i!=0 for i in range(2,int(math.sqrt(num))+1)):
required_list.append(num)
print required_list[0]