Weiter schreiben Python?
Ich möchte das Programm schließen, nachdem ich (no) gedrückt habe
Ich möchte das Programm abschließen, nachdem ich auf (yes) geklickt habe
phoneList = {"name": ["Amal", "Mohammed","Khadijah", "Abdullah", "Rawan", "Faisal", "Layla"], "num": [1111111111, 2222222222, 3333333333, 4444444444, 5555555555, 6666666666, 7777777777]}
while True:
phoneNumber = int(input("Enter phone number: "))
if phoneNumber in phoneList["num"]:
i = phoneList["num"].index(phoneNumber)
print(phoneList['name'][i])
else:
print("This is invalid number")
3 Antworten
Dein Programm läuft in der Console. Das ist komplett textbasiert. Es gibt keinen "yes" und auch keinen "no"-Button auf den man klicken kann. Außerdem soll bei beiden Buttons anscheinend das Gleiche passieren, es sei denn, du kennst einen Unterschied zwischen "schließen" und "abschließen".
Du müsstest also nochmal etwas genauer erklären, was du machen willst.
Dann musst du das mit einer grafischen Benutzeroberfläche bauen. So auf die schnelle zusammengebastelt z.B. so:
phoneList = {
"name": [
"Amal",
"Mohammed",
"Khadijah",
"Abdullah",
"Rawan",
"Faisal",
"Layla"
],
"num": [
"1111111111",
"2222222222",
"3333333333",
"4444444444",
"5555555555",
"6666666666",
"7777777777"
]
}
def get_name(num):
if num in phoneList["num"]:
return phoneList["name"][phoneList["num"].index(num)]
def display_name():
name = get_name(txtInput.get(1.0, "end")[:-1])
if name:
lblAnswer['text'] = name
else:
lblAnswer['text'] = "This is an invalid number"
from tkinter import *
window = Tk()
window.title("Phone Book")
Label(window, text="Enter number").pack()
txtInput = Text(window, height=1, wrap='none')
txtInput.pack()
lblAnswer = Label(window)
lblAnswer.pack()
btnYes = Button(window, text="yes", command=display_name)
btnYes.pack()
btnNo = Button(window, text="no", command=quit)
btnNo.pack()
window.mainloop()
So könne man das machen:
phoneList = {"name": ["Amal", "Mohammed","Khadijah", "Abdullah", "Rawan", "Faisal", "Layla"], "num": [1111111111, 2222222222, 3333333333, 4444444444, 5555555555, 6666666666, 7777777777]}
while True:
phoneNumber = int(input("Enter phone number: "))
if phoneNumber in phoneList["num"]:
i = phoneList["num"].index(phoneNumber)
print(phoneList['name'][i])
else:
print("This is invalid number")
if input("Do you want to continue? (y/n) ") == "n":
break
Meinst du sowas?
oder was hast du mit
Ich möchte das Programm schließen, nachdem ich (no) gedrückt habe
Ich möchte das Programm abschließen, nachdem ich auf (yes) geklickt habe
gemeint=
Kleiner Tipp. Wenn du es übersichtlicher haben möchtest, dann kannst du es so machen:
better_phoneList = {"Amal": 1111111111, "Mohammed": 2222222222, "Khadijah": 3333333333, "Abdullah": 4444444444, "Rawan": 5555555555, "Faisal": 6666666666, "Layla": 7777777777}
while True:
phoneNumber = int(input("Enter phone number: "))
for key, value in better_phoneList.items():
if phoneNumber == value:
print(f"{key}'s phone number is {value}")
break
else:
print("This is invalid number")
if input("Do you want to continue? (y/n) ") == "n":
break
Ich möchte die Taste Nein hinzufügen, um das Programm zu schließen