Python unendlich laufen?

3 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

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

Woher ich das weiß:Hobby

Exodus960 
Beitragsersteller
 18.08.2022, 17:45

Was müsste man raus nehmen damit er die url nicht löscht.

1
Exodus960 
Beitragsersteller
 18.08.2022, 06:32

Ja ungefähr aber das sollte Fürst erste gehen.

0
F35FighterJet  17.08.2022, 18:59

Der kollege weiß nicht was arrays sind

2
Hanibal545  17.08.2022, 19:03
@F35FighterJet

hab ich auch schon gesehen. Aber ich denke das kommt davon, dass es in Python nicht array, sondern Liste/Dictionary/tuple heißt

0

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..


Exodus960 
Beitragsersteller
 17.08.2022, 18:51

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?

0
import random

links = ["a", "b", "c" ] 

random.shuffle(links) 

for link in links:
    print(link) 

Exodus960 
Beitragsersteller
 18.08.2022, 16:28

Könnten sie kurz erklären was er macht weil die anderen haben so viel Code. Wegen es verwind mich .Danke

1
Kreasteve  18.08.2022, 22:07
@Exodus960

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 

0
Exodus960 
Beitragsersteller
 19.08.2022, 14:48
@Kreasteve

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.

0
Kreasteve  20.08.2022, 20:34
@Exodus960

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.

0
Exodus960 
Beitragsersteller
 20.08.2022, 20:42
@Kreasteve

Danke. Aber hat sich schon erledigt. Schön Abend.

1