Wie kann ich Prozent in meinen Taschenrechner einfügen?
% in Python heißt ja nicht Prozent.
Ich habe echt keine Ahnung,wie ich Prozent einfügen soll.
Momentan sieht es so aus:
Code:
import tkinter as tk
import math
def taschenrechner(key):
if key == "=":
global speicher
sin=math.sin
cos=math.cos
tan=math.tan
Wurzel=math.sqrt
#wird später gebraucht
str1 = "-+/*0123456789.%Wurzel(sin(cos(tan("
if display.get()[0] not in str1:
display.insert(tk.END, "Erlaubte Zeichen: " + str1)
#Schutz gegen Leute,die eval() misbrauchen
#um z.B. alle Dateien auf dem PC zu löschen
ergebnis = eval(display.get()) #Eval rechnet alles zusammen
display.delete(0,tk.END)# so kann man mit dem Ergebnis weiter rechnen
if ergebnis % 1 == 0: #es wird überprüft,ob ergebnis durch 1 teilbar ist
#,also ob der Rest 0 ergibt
display.insert(tk.END,int(ergebnis))
else:
display.insert(tk.END,ergebnis)
elif key == "C":
display.delete(0,tk.END)
elif key == "←":
display.delete(len(display.get())-1)
elif key == "%":
display.insert(tk.END,"/100")
elif key == "√":
display.insert(tk.END,"Wurzel(")
elif key == "Sinus":
display.insert(tk.END,"sin(")
elif key == "Kosinus":
display.insert(tk.END,"cos(")
elif key == "Tangens":
display.insert(tk.END,"tan(")
elif key == "M":# Memory
speicher = display.get()
root.title('M=' + speicher)#so weiß der User,welche Zahl er gespeichert hat
elif key == "MR":# Memory Recall
display.insert(tk.END,speicher)
elif key == "MC":# Memory Clear(löscht die gespeicherte Zahl)
speicher = ""
root.title("Taschenrechner")
else:
display.insert(tk.END, key)
root = tk.Tk()
root.title("Taschenrechner")
tasten = [ "7","8","9","/","C",
"4","5","6","*","←",
"1","2","3","-","√",
"0",".","=","+","%"
,"(",")","Sinus","Kosinus","Tangens"
,"M","MR","MC"]
r=1
c=0
for i in tasten:
rel="ridge" # Style für die Buttons
cmd=lambda x=i: taschenrechner(x)
tk.Button(root,text=i, width=6,height=2,font="bold",relief=rel, bg="white",command=cmd).grid(row=r, column=c)
c +=1
if c>4:
r +=1
c=0
display = tk.Entry(root, width=29 ,bg="white",font="bold",bd=10)
display.grid(row=0, column=0, columnspan=10)
root.mainloop()
Als Notlösung wird /100 statt % eingefügt,ist ja im Prinzip beides das Gleiche.
Prozent ist ja nicht mehr als durch 100 teilen.
Ich weiß aber nicht,wie ich definieren soll,dass "%" Zahl x durch 100 teilt.






