Python unendlich laufen?
Moin.
Vorab als Info : Ich habe In Python es so gemacht er hat eine variable mit links die soll er Radom öffnen und halt so weiter.
Wie kann ich es machen das er erst auf hört wenn die liste ganz unten angekommen ist also keine links mehr da sind. ( Er kann ja nicht auf hören weil er ja immer random eine neue nimmt so kommt er nie ganz unten an) wie kann ich es machen das ich sage er hört erst auf wenn er ganz unten ( Also wenn keine links mehr drunter sind) erst dann aufhören soll.
Danke im vorraus.
wenn Ihr den code oder so braucht sagt einfach bescheid.
Liste als arrays?
Was?
3 Antworten
Ich kenne zwar nicht dein Code, aber ich würde das Problem so lösen.
import random
import time
url = ["https://www.gutefrage.net/home/meine/alle",
"https://www.youtube.com/", "https://www.reddit.com/"]
for _ in range(len(url)):
picked_url = random.choice(url)
print(picked_url)
url.remove(picked_url)
time.sleep(1)
oder:
import random
import time
url = ["https://www.gutefrage.net/home/meine/alle",
"https://www.youtube.com/", "https://www.reddit.com/"]
while len(url) != 0:
picked_url = random.choice(url)
print(picked_url)
url.remove(picked_url)
time.sleep(1)
Also, dass man so oft durch eine for-schleife loopt, wie url's verfügbar sind. Dann wird zufällig eine url rausgepickt und aus der Liste entfernt.
Ist es das was du gemeint hast?
LG
hab ich auch schon gesehen. Aber ich denke das kommt davon, dass es in Python nicht array, sondern Liste/Dictionary/tuple heißt
wusste ich jetzt nicht. Habe nicht viel erfahrung mit python
Was müsste man raus nehmen damit er die url nicht löscht.
Also er soll aufhören, wenn der letzte link random geöffnet wird/ wurde?
Wenn du es mit einer Schleife ausführst kannst du eine zusätzliche Abfrage einbauen, der die Schleife stoppt, falls der letzte link ausgeführt wurde.
Weiß nicht ob ich dein Problem wirklich verstanden habe..
Nein er soll erst enden wenn der letzte link genutzt würden ist also man sagt ihm er soll die liste runterarbeiten bis zum letzten und wenn da nach nix kommt soll er aufhören aber da durch das er radom macht wird nie aufhören können jetzt verstanden?
import random
links = ["a", "b", "c" ]
random.shuffle(links)
for link in links:
print(link)
Könnten sie kurz erklären was er macht weil die anderen haben so viel Code. Wegen es verwind mich .Danke
Klar:
import random #importiert das random Modul
links = ["a", "b", "c" ] #erstellt die Liste
random.shuffle(links) #würfelt alle items random durcheinander
for link in links: #nimmt das erste bis zum letzten item der durchwürfelten Liste
print(link) #und gibt es jeweils aus
Danke . und weil er die würfelt kann es nie zu ende gehen ? muss ich eigentlich print link mit reinschreiben oder gehört das nur für das.
Ich verstehe deine Nachfrage nicht ganz.
for x in liste:
Ist eine For-Schleife. Sie gibt jedes Element (bspw.) einer Liste hier als x in die Schleife. Alles was innerhalb der For-Schleife steht wird einmal für jedes x (also jedes Element) ausgeführt.
Ich habe das so verstanden, dass du jeden Link nur einmal verarbeiten willst und die Links sollen zufällig kommen. Deshalb habe ich die Links-Liste durchmischt und dann mit der For-Schleife jeden einzelnen Link dir bereitgestellt.
Das Print ist nur das kleinste einfachste Beispiel, was in einer Schleife stehen kann. Du möchtest ja den link irgendwie öffnen. Wie, geht aus deiner Fragestellung nicht hervor, deshalb habe ich einfach print geschrieben, damit du den Code einfach mal testen und erweitern kannst.
Danke. Aber hat sich schon erledigt. Schön Abend.
Der kollege weiß nicht was arrays sind