2017-10-02 12 views
0

Die Frage zu stellen ist, dassSchleife - wie alle Elemente in einer Liste

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) 

dann ist das Ergebnis

7 
11 
17                    
19                    
23                    
29                    
None 

So, wie diese Elemente in eine Liste platziere? Genau wie

list = [ 7, 11, 13, 17, 19, 23, 29, "None" ] 

Weil ich will nur, indem Sie diese Art und Weise das erste Element der Liste drucken:

for i in x[:1]: 
    print (i) 
7 

Oder gibt es eine andere Art und Weise zu lösen?

+1

FYI, Sie brauchen keine Schleife, um das erste Element einer Liste zu drucken. Drücken Sie einfach 'print (meine_liste [0])' – DavidG

+1

Verwenden Sie 'break' nach' print (num) '. Sie müssen die Liste nicht verwenden, wenn Sie nur den ersten Artikel drucken möchten. – Alperen

Antwort

1

Innerhalb des Teils Ihres Codes, den Sie drucken, können Sie eine Zeile hinzufügen, die an eine Liste angefügt werden soll. Erstellen Sie einfach eine Liste außerhalb Ihrer Schleife, und hängen Sie sie an. Wie folgt aus:

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 

Wenn Sie noch suchen alle Zahlen zu sammeln, aber dann, wenn Ihre Berechnungen abgeschlossen sind, wollen Sie nur das erste Element in der Liste zu drucken, rufen Sie außerhalb Ihrer Schleife drucken. So würde der Code nun wie folgt aussehen:

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]) 
0

zu einem list hinzuzufügen, müssen Sie zunächst eine list erstellen und dann append zu. Sie können [i] verwenden Sie den Wert auf dem gewünschten Index

myList = list() # Alternatively, myList = [] 

for i in range(0, 30): 
    myList.append(i) 

print(myList[0]) 
0

Einige zusätzliche Punkte sind Math.ceil kehrt schweben zu bekommen, so sollte es mit int beschichtet werden. Es ist nicht notwendig, es mit for-Schleife zu drucken.

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] 
+0

lerne viel von dir ... danke –

Verwandte Themen