has_key() in qpython3

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
MupfSpace
User
Beiträge: 169
Registriert: Montag 25. Dezember 2017, 20:26

Ich brauche hilfe :K

Ich habe heraus gefunden wie man mit qpython Alert Dialog press Events macht.
Das hat auch funktioniert aber in qpy 3 kommt dieser Fehler:


Traceback (most recent call last):
File "/storage/emulated/0/qpython/.last_tmp.py", line 9, in <module>
if response.has_key("which"):
AttributeError: 'dict' object has no attribute 'has_key'
1|u0_a340@a3y17lte:/ $




Hier mein code:

import android
droid=android.Android()
droid.dialogCreateAlert("T3 install","T3 Will be installed")
droid.dialogSetPositiveButtonText("Okay")
droid.dialogSetNegativeButtonText("Cancel")
droid.dialogShow()
response=droid.dialogGetResponse().result
droid.dialogDismiss()
if response.has_key("which"):
result=response["which"]
if result=="positive":
print ("Okay")
elif result=="negative":
print ("Cancel")

Könnt ihr mir bitte helfen? :K
Sirius3
User
Beiträge: 17737
Registriert: Sonntag 21. Oktober 2012, 17:20

@MupfSpace: um zu prüfen, ob ein Schlüssel in einem Wörterbuch ist, benutzt man den `in`-Operator.
MupfSpace
User
Beiträge: 169
Registriert: Montag 25. Dezember 2017, 20:26

An welcher Stelle?
__deets__
User
Beiträge: 14522
Registriert: Mittwoch 14. Oktober 2015, 14:29

Na an der Stelle, an der has_key nicht geht.

https://stackoverflow.com/questions/337 ... te-has-key
MupfSpace
User
Beiträge: 169
Registriert: Montag 25. Dezember 2017, 20:26

Mit in geht das auch nicht:


import android
droid=android.Android()
droid.dialogCreateAlert("T3 install","T3 Will be installed")
droid.dialogSetPositiveButtonText("Okay")
droid.dialogSetNegativeButtonText("Cancel")
droid.dialogShow()
response=droid.dialogGetResponse().result
droid.dialogDismiss()
if response.has_key("which"):
result=response["which"] in ('positive', 'negative')
if result=="positive":
print ("Okay")
elif result=="negative":
print ("Cancel")
Sirius3
User
Beiträge: 17737
Registriert: Sonntag 21. Oktober 2012, 17:20

@MupfSpace: natürlich geht das nicht, weil Du immer noch `has_key` verwendest, das es nicht gibt. Die Zeile, die Du geändert hast, hat mit dem Fehler, den Du bekommst, ja nichts zu tun.
MupfSpace
User
Beiträge: 169
Registriert: Montag 25. Dezember 2017, 20:26

Vielleicht steht ja auf der Internet Seite wo ich das gefunden habe noch et2as nützliches aber das Problem ist das ich die Seite nicht mehr finde wisst ihr zufällig dir wie ich die Seite finde da es alles über sl4a
__deets__
User
Beiträge: 14522
Registriert: Mittwoch 14. Oktober 2015, 14:29

Was soll denn da stehen, wenn *du* einen Fehler machst? Es gibt has_key halt nicht mehr in Python3. Dann kannst du es eben nicht mehr benutzen :K
Antworten