Python etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Python etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

14 Aralık 2021 Salı

Python Pyqt5 ile Hesap Makinası

from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from mainUI import *
from PyQt5.QtCore import *
import sys

# ----------------------UYGULAMA OLUŞTUR-------------------#
# ---------------------------------------------------------#
app = QApplication(sys.argv)
app.setStyle("Fusion")
winAna = QMainWindow()
ui = Ui_Calculator()
ui.setupUi(winAna)
winAna.show()

# -----------------------Hesap Makinası--------------------#
# ---------------------------------------------------------#
class mainCalcFunc(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)
self.setWindowTitle('PyQt5 Calculator GUI')

ui.lineEditCalc.setWordWrap(True)
ui.lineEditCalc.setAlignment(Qt.AlignRight)
ui.lineEditCalc.setFont(QFont('Arial', 120))

def action_equal(self):
equation = ui.lineEditCalc.text()
try:
ans = eval(equation)
ui.lineEditCalc.setText(str(ans))
except:
ui.lineEditCalc.setText("Wrong Input")

def mul(self):
text = ui.lineEditCalc.text()
ui.lineEditCalc.setText(text + "*")
def sub(self):
text = ui.lineEditCalc.text()
ui.lineEditCalc.setText(text + "-")
def add(self):
text = ui.lineEditCalc.text()
ui.lineEditCalc.setText(text + "+")
def div(self):
text = ui.lineEditCalc.text()
ui.lineEditCalc.setText(text + "/")
def clearAll(self):
text = ui.lineEditCalc.text()
ui.lineEditCalc.setText("")
def clearLast(self):
text = ui.lineEditCalc.text()
ui.lineEditCalc.setText(text[:-1])
def nokta(self):
text = ui.lineEditCalc.text()
ui.lineEditCalc.setText(text + ".")

def action1(self):
text = ui.lineEditCalc.text()
ui.lineEditCalc.setText(text + "1")

def action2(self):
text = ui.lineEditCalc.text()
ui.lineEditCalc.setText(text + "2")

def action3(self):
text = ui.lineEditCalc.text()
ui.lineEditCalc.setText(text + "3")

def action4(self):
text = ui.lineEditCalc.text()
ui.lineEditCalc.setText(text + "4")

def action5(self):
text = ui.lineEditCalc.text()
ui.lineEditCalc.setText(text + "5")

def action6(self):
text = ui.lineEditCalc.text()
ui.lineEditCalc.setText(text + "6")

def action7(self):
text = ui.lineEditCalc.text()
ui.lineEditCalc.setText(text + "7")

def action8(self):
text = ui.lineEditCalc.text()
ui.lineEditCalc.setText(text + "8")

def action9(self):
text = ui.lineEditCalc.text()
ui.lineEditCalc.setText(text + "9")

def action0(self):
text = ui.lineEditCalc.text()
ui.lineEditCalc.setText(text + "0")

def action00(self):
text = ui.lineEditCalc.text()
ui.lineEditCalc.setText(text + "00")

ui.btnBolme.clicked.connect(div)
ui.btnArti.clicked.connect(add)
ui.btnCikarma.clicked.connect(sub)
ui.btnCarpma.clicked.connect(mul)
ui.btnEsittir.clicked.connect(action_equal)
ui.btn1.clicked.connect(action1)
ui.btn2.clicked.connect(action2)
ui.btn3.clicked.connect(action3)
ui.btn4.clicked.connect(action4)
ui.btn5.clicked.connect(action5)
ui.btn6.clicked.connect(action6)
ui.btn7.clicked.connect(action7)
ui.btn8.clicked.connect(action8)
ui.btn9.clicked.connect(action9)
ui.btn0.clicked.connect(action0)
ui.btnCift0.clicked.connect(action00)
ui.btnC.clicked.connect(clearAll)
ui.btnCE.clicked.connect(clearLast)
ui.btnVirgul.clicked.connect(nokta)

sys.exit(app.exec_())

9 Mayıs 2021 Pazar

Python ile Grafik Çizimi

# Excel dosyasını yükleyip grafik elde etmek.
import sys
import matplotlib
matplotlib.use("Qt5Agg")
import pandas as pd
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg,
NavigationToolbar2QT as NavigationToolbar
from matplotlib.figure import Figure
from collections import Counter
from functools import partial
import warnings

class help_(QWidget):
def __init__(self):
super().__init__()
self.textEdit = QLabel('Excel dosyası ekleyiniz.\n'
'Cikis yapmak icin exit tiklayiniz.')
self.layout = QHBoxLayout()
self.layout.addWidget(self.textEdit)
self.setLayout(self.layout)
self.setWindowTitle('Help Window')
self.setGeometry(350,200,200,100)

class MplCanvas(FigureCanvasQTAgg):
def __init__(self, parent=None, width=5, height=4, dpi=100) -> object:
fig = Figure(figsize=(width, height), dpi=dpi)
self.axes = fig.add_subplot(111)
super(MplCanvas, self).__init__(fig)

class analiz(QMainWindow):
def __init__(self):
super(analiz, self).__init__()
self._createAction()
self._cretaMenuBar()
self._connectActions()

def _cretaMenuBar(self):
self.setWindowTitle("Loads Excel")
self.setGeometry(200,190,770, 598)
menuBar = self.menuBar()
fileMenu = QMenu("&File", self)
fileMenu.addAction(self.newAction)
fileMenu.addAction(self.openAction)
fileMenu.addAction(self.saveAction)
fileMenu.addSeparator()
fileMenu.addAction(self.exitAction)
menuBar.addMenu(fileMenu)

editMenu = menuBar.addMenu("&Edit")
editMenu.addAction(self.copyAction)
editMenu.addAction(self.pasteAction)
editMenu.addAction(self.cutAction)
editMenu.addSeparator()
findMenu = editMenu.addMenu("Find and Replace")
findMenu.addAction("Find...")
findMenu.addAction("Replace...")

graphMenu = menuBar.addMenu("Graph")
graphMenu.addAction(self.graphMenuAction)

helpMenu = menuBar.addMenu("&Help")
helpMenu.addAction(self.aboutAction)
self.openRecentMenu = fileMenu.addMenu("Open Recent")
self.show()
def _createAction(self):
self.newAction = QAction("&New", self)
self.openAction = QAction("&Open...", self)
self.saveAction = QAction("&Save...", self)
self.exitAction = QAction("&Exit...", self)
self.copyAction = QAction("&Copy...", self)
self.pasteAction = QAction("&Paste...", self)
self.cutAction = QAction("&Cut...", self)
self.aboutAction = QAction("&About...", self)

self.newAction.setShortcut("Ctrl+N")
self.openAction.setShortcut("Ctrl+O")
self.saveAction.setShortcut("Ctrl+S")

self.copyAction.setShortcut(QKeySequence.Copy)
self.pasteAction.setShortcut(QKeySequence.Paste)
self.copyAction.setShortcut(QKeySequence.Cut)

self.graphMenuAction = QAction("Draw Graph", self)
def _connectActions(self):
self.newAction.triggered.connect(self.newFile)
self.openAction.triggered.connect(self.openFile)
self.saveAction.triggered.connect(self.saveFile)
self.exitAction.triggered.connect(self.close)

self.copyAction.triggered.connect(self.copyContent)
self.pasteAction.triggered.connect(self.pasteContent)
self.cutAction.triggered.connect(self.cutContent)

self.aboutAction.triggered.connect(self.aboutContent)
self.openRecentMenu.aboutToShow.connect(
        self.populateOpenRecent)

self.graphMenuAction.triggered.connect(self.grafik)
def newFile(self):
self.centralWidget.setText("<b>File > New </b> Clicked")
def openFile(self):
# self.centralWidget.setText("<b>File > Open </b> Clicked")
self.fname = QFileDialog.getOpenFileName(self, "Open File")
self.file = ",".join(self.fname).split(",")[0].replace("/", "\\")
# test = open(self.file, "r")
# print(test)
# with test:
# text = pd.read_excel(self.file)
# print(text)
def saveFile(self):
self.centralWidget.setText("<b>File > Save </b> Clicked")
def copyContent(self):
self.centralWidget.setText("<b>File > Copy </b> Clicked")
def pasteContent(self):
self.centralWidget.setText("<b>File > Paste </b> Clicked")
def cutContent(self):
self.centralWidget.setText("<b>File > Cut </b> Clicked")
def aboutContent(self):
# self.centralWidget.setText("<b>File > About </b> Clicked")
self.w1 = help_()
self.w1.show()
def populateOpenRecent(self):
self.openRecentMenu.clear()
actions = []
filenames = [f"File-{n}" for n in range(5)]
for filename in filenames:
action = QAction(filename, self)
action.triggered.connect(partial(self.openRecentFile, filename))
actions.append(action)
self.openRecentMenu.addActions(actions)

def grafik(self):
with warnings.catch_warnings(record=True):
warnings.simplefilter("always")
self.df = pd.read_excel(self.file)

text1, ok = QInputDialog.getText(self,
        'X Coords Start position', 'Enter Row Number')
text2, ok = QInputDialog.getText(self,
        'X Coords Start position', 'Enter Column Number')

# text3, ok = QInputDialog.getText(self,
          'Y Coords Start position', 'Enter Column Number')
# text4, ok = QInputDialog.getText(self,
          'Y Coords Stop position', 'Enter Column Number')
# text5, ok = QInputDialog.getText(self,
          'Y Coords start position', 'Enter Row Number')
ok = True
if ok:
self.sutun = int(text2)
self.satir = int(text1)
self.namesRow = self.df.iloc[self.satir:, self.sutun]
# self.basSutun = int(text3)
# self.bitSutun = int(text4)
# self.basSatir = int(text5)
# self.values = self.veri.iloc[self.basSatir:,
              self.basSutun:self.bitSutun]
x = Counter(self.namesRow)
self.listt1 = []
self.listt2 = []

for value in set(self.namesRow):
self.listt1.append(value)
self.listt2.append(x[value])

sc = MplCanvas(self, width=5, height=4, dpi=100)
sc.axes.bar(self.listt1, self.listt2)

# Grafikte degrleri yazmak için yapıldı.
for i, txt in enumerate(self.listt2):
sc.axes.annotate(txt, (self.listt1[i], self.listt2[i]))

toolbar = NavigationToolbar(sc, self)
layout = QVBoxLayout()
layout.addWidget(toolbar)
layout.addWidget(sc)

widget = QWidget()
widget.setLayout(layout)
self.setCentralWidget(widget)
self.show()

if __name__ == '__main__':
app = QApplication(sys.argv)
w = analiz()
app.exec_()

12 Aralık 2020 Cumartesi

Dosya İşlemleri (Ekleme-Arama-Silme)

import os
class patiensInfo:
def __init__(self, name=None, surname=None, patientId=None):
self.name = name,
self.surname = surname,
self.patientId = patientId,
self.filename='patient.txt'

def __str__(self):
return '[Name: {0} | Surname: {1} | PatientId: {2}]'.\
format(self.name, self.surname, self.patientId)
def __repr__(self):
return '[Name: {0} | Surname: {1} | PatientId: {2}]'.\
format(self.name, self.surname, self.patientId)

def patient_add(self):
self.name=input("Patient name: ")
self.surname = input("Patient surname: ")
self.patientId = input("Patient patientId: ")
try:
if os.path.exists(self.filename) and os.path.getsize(self.filename)>0:
myPatientDb= open(self.filename, 'a')
myPatientDb.write(self.name+" "+self.surname+" "+self.patientId+"\n")
else:
myPatientDb = open(self.filename, 'w')
myPatientDb.write(self.name+" "+self.surname+" "+self.patientId+"\n")
except IOError:
print("Bir hata oluştu!")
finally:
myPatientDb.close()

def displayPatients(self):
if os.path.exists(self.filename) and os.path.getsize(self.filename) > 0:
myPatientDb = open(self.filename, 'r')
for records in myPatientDb:
print(records, end="")
myPatientDb.close()

def searchPatients(self):
if os.path.exists(self.filename) and os.path.getsize(self.filename) > 0:
myPatientDb = open(self.filename, 'r')
try:
patientsSearch = input("Enter the patientId: ")
counter = 0
for patient in myPatientDb.readlines():
if patientsSearch == patient.split()[2]:
print(patient)
counter +=1
if counter == 0:
print("No record found whose name is:", patientsSearch)
except:
print("Error occured!")
else:
print("No record in patient.txt")

def deletePatient(self):
if os.path.exists(self.filename) and os.path.getsize(self.filename)>0:
myPatientDb = open(self.filename, 'r')
try:
patientsSearch = input("Enter the patientId: ")
counter = 0
liste = myPatientDb.readlines()
for patient in liste:
if patientsSearch == patient.split()[2]:
k = liste.index(patient)
del liste[k]
myPatientDb.close()

myPatientDb = open(self.filename, 'w')
myPatientDb.writelines(liste)
myPatientDb.close()
counter +=1
if counter == 0:
print("No record found whose name is:", patientsSearch)
except:
print("Error occured!")
else:
print("No record in patient.txt")


if __name__ == '__main__':
ourPatiens = patiensInfo()
print("Enter 1.To add 2.For search 3.Display 4.Delete 5.Exit")
while True:
choice = input("Enter your choice: ").lower()
if choice == "1":
ourPatiens.patient_add()
elif choice == "2":
ourPatiens.searchPatients()
elif choice == "3":
ourPatiens.displayPatients()
elif choice == "4":
ourPatiens.deletePatient()
elif choice == 'q':
exit()
else:
print("Invalid option. Try again!")

27 Ekim 2020 Salı

Yıldız Ücgen Cizimi

 # def yildiz(level):

#     for i in range(0,level):
# print(" " * (level-i), end="")
# print("*" * (2*i-1))
#
# yildiz(7)

class yildiz(object):
def __init__(self):
self.deger = 0

def show(self, sayi):
self.deger = sayi
for i in range(0, self.deger+1):
print(" " * (self.deger-i), end="")
print("*" * (2*i-1))

if __name__ == '__main__':
userInput = int(input("Deger: "))
result = yildiz()
result.show(userInput)

25 Ekim 2020 Pazar

Asansör Kontrol Paneli

from time import sleep

print(" Wellcome ".center(60,"*"))
print("Please enter the number floor.")

class elevatorControlPanel:
def __init__(self):
self.sayac = 0

def whichFloor(self):
self.floorNumber = input("\nEnter the number floor: ")
if self.floorNumber == "":
quit()
else:
return int(self.floorNumber)

def get_number(self, number):
if self.numberFloor == 0:
if self.sayac < self.numberFloor:
print("Elevator is going up {}.Floor".format(self.numberFloor))
sleep(self.sayac / 2)
self.sayac = self.numberFloor
return print("{}.Floor".format(self.numberFloor))
else:
print("Elevator is going down {}.Floor".format(self.numberFloor))
sleep(self.sayac / 2)
self.sayac = self.numberFloor
return print("{}.Floor".format(self.numberFloor))

elif self.sayac < self.numberFloor:
self.sayac = self.numberFloor
print("Elevator is going up {}.Floor".format(self.numberFloor))
sleep(self.sayac/2)
return print("{}.Floor".format(self.numberFloor))

# print("{}.floor".format(self.numberFloor))
# return quit() #İf you want end of elevator all the floor

elif self.sayac > self.numberFloor:
self.sayac = self.numberFloor
print("Elevator is going down {}.Floor".format(self.numberFloor))
sleep(self.sayac/2)
return print("{}.Floor".format(self.numberFloor))

# print("{}.floor".format(self.numberFloor))
# return quit() #İf you want end of elevator all the floor
else:
print("Enter number the floor.")
quit()

def Loop(self):
while True:
self.numberFloor = self.whichFloor()
self.floor = self.get_number(self.numberFloor)

# def showScreen(self):
# message = "\nYou are goin to {}.floor"
# print(message.format(self.numberFloor))

def calistir(self):
self.loop = self.Loop()

if __name__ == '__main__':
floor = elevatorControlPanel()
floor.calistir()

23 Ekim 2020 Cuma

Quiz Osmanli Padişahları

 import random

osmanli = ["Osman Gazi", "Orhan Gazi", "I.Murat", "I.Bayezid", "I.Mehmed",
           "II.Murat", "II.Mehmed", "II.Bayezid","I.Selim", "I.Süleyman",
           "II.Selim", "III.Murad", "III.Mehmed", "I.Ahmed", "I.Mustafa",
           "II.Osman", "IV.Murad","İbrahim","IV.Mehmed", "II.Süleyman",
           "II.Ahmed", "II.Mustafa", "III.Ahmed", "I.Mahmud","III.Osman",
           "III.Mustafa","I.Abdülhamid","III.Selim", "IV.Mustafa",
           "II.Mahmud","Abdülmecid", "Abdülaziz", "V.Murad","II.Abdülhamid",
           "V.Mehmed", "VI.Mehmed"]
print(len(osmanli), "Osmanlı padişahı vardır.")
print("Bu padişahlardan 10 tanesi için soru sorulacaktır.\n
    Yanlış cevap verdiğinizde yarışma sonlanacaktır.\n
      Her doğru cevap 10 puandır. Hazırsanız başlayalım.")
puan = 0
soru = []
siklar = ["a", "b", "c", "d"]
while True:
for i in range(1, 11):
soruTipi = random.randrange(1, 3)
if soruTipi == 1:
soru = random.sample(osmanli, 1)
x =[i for i in range(osmanli.index(*soru), osmanli.index(*soru) + 4)]
random.shuffle(x)
# print(osmanli.index(*soru) + 1) #Kopya
print("{0}. Soru: {1} kaçıncı padişahtır".format(i, *soru))
for k, j in zip(siklar, x):
print("{}-) {} ".format(k, j), end="")
print()
cevap = input("")
if cevap == "":
print("Soruları boş geçilemez lütfen cevap verin")
print("{0}. Soru: {1} kaçıncı padişahtır".format(i, *soru))
for k, j in zip(siklar, x):
print("{}-) {} ".format(k, j), end="")
print()
cevap = input("")
elif str(osmanli.index(*soru) + 1) == cevap:
puan += 10
else:
break

elif soruTipi == 2:
soru = random.sample(osmanli, 4)
random.shuffle(soru)
# print(soru[0]) # Kopya
print("{0}.Soru: {1}.Osmanlı padişahı aşağıdakilerden hangisidir."
                   .format(i, (osmanli.index(soru[0]) + 1)))
for l, j in zip(siklar, soru):
print("{}-){} ".format(l, j), end="")
print()
cevap = input("")
if cevap == "":
print("Soruları boş geçilemez lütfen cevap verin")
print("{0}.Soru: {1}.Osmanlı padişahı aşağıdakilerden hangisidir."
                       .format(i, (osmanli.index(soru[0]) + 1)))
for l, j in zip(siklar, soru):
print("{}-){} ".format(l, j), end="")
print()
cevap = input("")
elif soru[0] == cevap:
puan += 10
else:
break

print("Puanınız: ", puan)
break

20 Ekim 2020 Salı

Ekranda Kayan Yazı

 from time import sleep


userInput = input("Herhangi bir karakter giriniz: ")

class KayanYazi(object):
print(" Kayan Yazi ".center(50, "*"))
def __init__(self, name):
self.name = name

def kayan_yazi(self):
for i in range(0,20):
print(self.name.rjust(len(self.name)+1," "), end="")
sleep(0.5)
print("".ljust(len(self.name),"\b") ,end="")
for i in range(0,20):
print(self.name.ljust(len(self.name), " "), end="")
sleep(0.5)
print("".rjust(len(self.name)+1,"\b") ,end="")

KayanYazi(userInput).kayan_yazi()