π§ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΡΠΉ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ Π½Π° ΠΠΈΡΠΎΠ½Π΅ Π±Π΅Π· Π±ΠΎΠ»ΠΈ Π² Π³ΠΎΠ»ΠΎΠ²Π΅π§
ΠΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΡΠΉ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ Π½Π° Python ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ math.
ΠΠΎΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
import math
def calculate(expression):
result = eval(expression)
return result
expression = input("ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅: ")
result = calculate(expression)
print("Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:", result)
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ½ΠΊΡΠΈΡ eval, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΡΠΈΡΠ»ΡΡΡ ΡΡΡΠΎΠΊΠΎΠ²ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ.
ΠΡΠΎΡΡΠΎ Π²Π²Π΅Π΄ΠΈΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, "2 + 3 * 4", ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΡΠ²Π΅Π΄Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ.
Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²Ρ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ math, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡΠΌ, ΡΠ°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ sin, cos, sqrt ΠΈ Ρ. Π΄.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΡΠΉ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ Π½Π° ΠΏΠΈΡΠΎΠ½Π΅
ΠΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΡΠ΅ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΡ ΠΈΠ³ΡΠ°ΡΡ Π²Π°ΠΆΠ½ΡΡ ΡΠΎΠ»Ρ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΡΡ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΈΠΈ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΠΌΠ°ΡΠΈΠ½ΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅, ΡΠ»Π΅ΠΊΡΡΠΎΡΠ΅Ρ Π½ΠΈΠΊΠ° ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΡΠΉ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python.
Π¨Π°Π³ 1: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°
ΠΠ΅ΡΠ²ΡΠΌ ΡΠ°Π³ΠΎΠΌ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π΄Π»Ρ Π½Π°ΡΠ΅Π³ΠΎ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ°. ΠΠ°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΎΠΊΠ½ΠΎ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΌΠΎΠΆΠ΅Ρ Π²Π²ΠΎΠ΄ΠΈΡΡ ΡΠΈΡΠ»Π° ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.
import tkinter as tk
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°
window = tk.Tk()
window.title("ΠΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΡΠΉ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ")
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ²
result_text = tk.StringVar()
result_label = tk.Label(window, textvariable=result_text)
result_label.pack()
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ Ρ ΡΠΈΡΠ»Π°ΠΌΠΈ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΌΠΈ
buttons = [
"7", "8", "9", "/",
"4", "5", "6", "*",
"1", "2", "3", "-",
"0", ".", "=", "+"
]
for button in buttons:
btn = tk.Button(window, text=button)
btn.pack(side=tk.LEFT)
# ΠΠ°ΠΏΡΡΠΊ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ
window.mainloop()
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ tkinter Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. ΠΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Ρ ΡΠΈΡΠ»Π°ΠΌΠΈ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΌΠΈ. ΠΠΎΠ΄ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΡΠΈΠΊΠ»Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ, ΡΡΠΎΠ±Ρ ΠΎΠΊΠ½ΠΎ ΠΎΡΡΠ°Π²Π°Π»ΠΎΡΡ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°Π»ΠΎ Π½Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ Π²Π²ΠΎΠ΄.
Π¨Π°Π³ 2: ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ°
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, Π΄Π°Π²Π°ΠΉΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π»ΠΎΠ³ΠΈΠΊΡ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ°. ΠΡ Ρ ΠΎΡΠΈΠΌ, ΡΡΠΎΠ±Ρ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ» ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ Π²Π²Π΅Π΄Π΅Π½Π½ΡΠΌΠΈ ΡΠΈΡΠ»Π°ΠΌΠΈ ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΠ» ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΠΏΠΎΠ»Π΅.
import tkinter as tk
def calculate():
expression = result_text.get()
try:
result = eval(expression)
result_text.set(result)
except:
result_text.set("ΠΡΠΈΠ±ΠΊΠ°")
window = tk.Tk()
# ... ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ΄
# ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ "=" ΠΈ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ° Π΅Π΅ ΠΊ ΡΡΠ½ΠΊΡΠΈΠΈ calculate
equals_btn = tk.Button(window, text="=", command=calculate)
equals_btn.pack(side=tk.LEFT)
# ... ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ΄
window.mainloop()
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ calculate (), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΠ΅ΠΊΡΡΠ΅Π΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π΅Π³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ eval () ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅. ΠΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ°, ΠΌΡ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ "ΠΡΠΈΠ±ΠΊΠ°" Π²ΠΌΠ΅ΡΡΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°.
Π¨Π°Π³ 3: ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ°
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ Π»ΠΎΠ³ΠΈΠΊΠ° ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ°, Π΄Π°Π²Π°ΠΉΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠ΅ Π΄Π»Ρ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ°. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΡΠΈΠ³ΠΎΠ½ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΡΠ΅ΠΏΠ΅Π½Ρ ΠΈ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠ½Ρ.
import tkinter as tk
import math
def calculate():
expression = result_text.get()
try:
result = eval(expression)
result_text.set(result)
except:
result_text.set("ΠΡΠΈΠ±ΠΊΠ°")
def calculate_sin():
value = float(result_text.get())
result = math.sin(value)
result_text.set(result)
window = tk.Tk()
# ... ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ΄
# ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ "sin" ΠΈ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ° Π΅Π΅ ΠΊ ΡΡΠ½ΠΊΡΠΈΠΈ calculate_sin
sin_btn = tk.Button(window, text="sin", command=calculate_sin)
sin_btn.pack(side=tk.LEFT)
# ... ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ΄
window.mainloop()
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ calculate_sin (), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ, Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΡΠΈΠ½ΡΡ ΡΡΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ sin () ΠΈΠ· ΠΌΠΎΠ΄ΡΠ»Ρ math ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅.
ΠΡΠΎΠ³ΠΈ
ΠΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΡΠΉ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ ΡΠ°Π³ΠΈ ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° ΠΈ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ°, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΡΠΈΠ½ΡΡ. Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°ΡΡΠΈΡΠΈΡΡ ΡΠ²ΠΎΠΉ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎ Π²Π°ΡΠ΅ΠΌΡ ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΡ. Π£ΡΠΏΠ΅Ρ ΠΎΠ² Π² ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ!