Nun einen Fehler bin vor, Ihre song
Variable ist nur in der Methode Badland
Ihrer Klasse sichtbar. So können Sie diese Variable in der gleichen Methode verwenden, wo Sie es definiert, wie folgt aus:
import webbrowser
class Halsey:
SONGS = (
("Gasloine", "https://www.youtube.com/watch?v=jU3P7qz3ZrM"),
("Castle", "url2"),
("Hold me down ", "url3"),
("Control", "url4"),
)
def __init__(self):
for i, song_name in enumerate(self.SONGS, 1):
print("{}. {}".format(i, song_name[0]))
song = int(input("Plase select a number from above list: "))
url = self.SONGS[song - 1][1]
webbrowser.open(url, new=0)
... oder Sie können Benutzer-Eingabe von Klassenmethode zurückzukehren und dann verwenden, wie folgt aus:
class Halsey:
SONGS = (
("Gasloine", "https://www.youtube.com/watch?v=jU3P7qz3ZrM"),
("Castle", "url2"),
("Hold me down ", "url3"),
("Control", "url4"),
)
def get_user_input():
for i, song_name in enumerate(self.SONGS, 1):
print("{}. {}".format(i, song_name[0]))
return int(input("Please select a number from above list: "))
instance = Halsey()
users_choice_int = instance.get_user_input()
url = self.SONGS[song - 1][1]
webbrowser.open(url, new=0)
Sie können Ihre Variable auch in Klassenattribut speichern: self.song = int(input(...)
und danach können Sie innerhalb Klassenmethoden von self.song
oder außerhalb Ihrer Klasse von instance.song
zugreifen.
Hinweis: Vergessen Sie nicht die möglichen ungültigen Benutzereingaben. Sie können Ihre song = int(input...
in try/except
verpacken.
Viel Glück!
Wo glaubst du, 'Song' wäre von dort gekommen? Es ist außerhalb der Klasse und außerhalb der "Badland" -Methode, wo Sie die Eingabe nehmen. Was denkst du eigentlich, wo 'Song' aus der' __init__' Methode kommen würde, da es sich nicht um einen Parameter handelt? Sie sollten wahrscheinlich https://www.youtube.com/watch?v=o9pEzgHorH0 überprüfen; Dies ist eine klassische Nicht-Klasse. – jonrsharpe
Ich bin Anfänger Programmierung, so dass ich nicht viel darüber wissen, und ich versuche, Programmierung zu lernen – rishikesh
Dann würde ich ein strukturiertes Tutorial empfehlen, siehe z. https://sopython.com/wiki/What_tutorial_should_I_read%3F – jonrsharpe