Program Python: Convertor de temperatura Celsius – Fahrenheit
Salutare!
Astăzi vă propun un program simplu care transforma gradele Celsius in Fahrenheit. Este făcut cu ajutorul modulului Tkinter. Mai multe informații despre Tkinter găsiți aici:
https://docs.python.org/3/library/tkinter.html – Este foarte folositor!😁
Programul creează întâi fereastra, îi pune titlu, creează un Label() ‘Celsius -> Fahrenheit’, îl afișează cu ajutorul funcției .pack(), apoi creează un Frame() sub Label()-ul ‘Celsius -> Fahrenheit’.
Apoi creează un mesaj (un Label()) pentru Entry(), și după creează un Entry() pentru introducerea valorii gradelor Celsius și, în final, creează funcția de convertire Celsius -> Fahrenheit.
Dar stai! Asta nu e tot! După setăm mesajul pentru eroare (când introducem ceva invalid precum str()-ul ‘1[0‘ in loc de ‘10‘), setăm Label()-ul pentru rezultat, creează Button()-ul pentru transformarea gradelor Celsius în Fahrenheit, setăm dimensiunea ferestrei.
Iată codul scris de mine (*Free to copy and use for educational purposes):
# Copyright 2021 by Sebastian Chetroni - ZCoder.ro # Free to copy and use for educational purposes from tkinter import * import tkinter.font as font # Afisam numele ferestrei my_window = Tk() my_window.title("Convertor Celsius in Fahrenheit") # Afisam textul la inceputul ferestrei description = Label(text = 'Celsius -> Fahrenheit', font = font.Font(font='Courier', size = 20), fg = "grey") description.pack() frame = Frame(my_window) frame.pack(pady = 20) # Text si casuta in care introducem valoarea temperaturii in grade Celsius message_one = Label(frame, text = 'Introdu temperatura in grade Celsius: ', font = font.Font(font='', size = 10)) message_one.grid(row = 0, column = 0) celsius_value = Entry(frame) celsius_value.grid(row = 0, column = 1) # Functia de convertire a temperaturii din Celsius in Fahrenheit def convert(): temp_celsius = celsius_value.get() if(temp_celsius.replace('.','',1).isdigit()): error_msg.grid_forget() temp_fahrenheit = (float(temp_celsius) * 9/5) + 32 output_fahrenheit.config(text = 'Temperatura in grade Fahrenheit este: ' + str(temp_fahrenheit), fg = 'red') else: error_msg.grid(row=1, column=1) # Afisam mesaj de eroare error_msg = Label(frame, text = 'Te rog sa introduci temperatura in grade Celsius!', font = font.Font(font='', size = 8), fg = 'red') # Afisam rezultatul output_fahrenheit = Label(frame, font = font.Font(font='Courier', size = 12)) output_fahrenheit.grid(row = 2, column = 0, columnspan = 2, pady = 10) #Desenam butonul de conversie submit_btn = Button(frame, text = 'Transforma', width = 30, fg = "black", bg = "light green", bd = 0, padx = 20, pady = 10, command = convert) submit_btn.grid(row = 3, column = 0, columnspan = 2, pady = 10) my_window.geometry('500x250') my_window.mainloop()
Nu uita: Învață, exersează, repetă!
Author: Sebastian Chetroni
Website: https://zcoder.ro
Articole recente
- Olimpiada Nationala de Informatica 2023. Rezolvare problema „Cadouri” in C++, clasa a V-a
- Olimpiada Nationala de Informatica 2023. Rezolvare problema „Patinaj” in C++, clasa a V-a
- Olimpiada Judeteana de Informatica 2018. Rezolvare problema „Forus” in C++, clasa a V-a
- Olimpiada Judeteana de Informatica 2018. Rezolvare problema „Patrate” in C++, clasa a V-a
- Olimpiada Judeteana de Informatica 2019. Rezolvare problema „Cartele” in C++, clasa a V-a
Comentarii recente
- irina c la Olimpiada Judeteana de Informatica 2021. Rezolvare problema „Concurs” in C++, clasa a V-a
- M la Olimpiada Judeteana de Informatica 2022. Rezolvare problema „Sume si secvente” in C++, clasa a V-a
- Sebastian Chetroni la Olimpiada Judeteana de Informatica 2023. Rezolvare problema „Aeriana” in C++, clasa a V-a
- andrei toma la Olimpiada Judeteana de Informatica 2023. Rezolvare problema „Aeriana” in C++, clasa a V-a
- andrei nicolescu la Am fost in tabara educationala de vara Atlantykron. Voi mai merge
buna ideea pentru un proiect la scoala
sper sa te ajute, succes!
multumesc de idee si de comentariile din cod
cu placere!