Onur AKTAŞ wrote On 10-01-2011 22:48:
Sizin için sorun yoksa kodun tamamını atabilir misiniz ?
Özelden de olur.
Merhabalar,
Henüz tamamlanmadı. Bizim ufaklık için rasgele sayılar ve rasgele işlemler (çarpma, çıkatma, toplama) ile soru soran ve bu sorduğu sorulara verilen cevapları süreleri ile log tutan bir dört işlem programı olacak. Tamamlayana kadar daha çok soru soracağım sanırım...

Kolay gelsin,
Mucip:)
# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'MatematikOyunu.ui'
#
# Created: Sun Jan  9 20:13:11 2011
#      by: PyQt4 UI code generator 4.7.3
#
# WARNING! All changes made in this file will be lost!



from PyQt4 import QtCore, QtGui
import sys, random, os, time

class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(327, 314)        
        self.centralwidget = QtGui.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.pushButton = QtGui.QPushButton(self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(150, 180, 105, 24))
        self.pushButton.setObjectName("pushButton")
        self.checkBox = QtGui.QCheckBox(self.centralwidget)
        self.checkBox.setGeometry(QtCore.QRect(10, 250, 241, 23))
        self.checkBox.setObjectName("checkBox")
        self.lineEdit = QtGui.QLineEdit(self.centralwidget)
        self.lineEdit.setGeometry(QtCore.QRect(120, 100, 60, 25))
        self.lineEdit.setObjectName("lineEdit")
        self.Sayi1 = QtGui.QLabel(self.centralwidget)
        self.Sayi1.setGeometry(QtCore.QRect(140, 20, 61, 16))
        self.Sayi1.setObjectName("Sayi1")
        self.Sayi2 = QtGui.QLabel(self.centralwidget)
        self.Sayi2.setGeometry(QtCore.QRect(140, 60, 61, 21))
        self.Sayi2.setObjectName("Sayi2")
        self.label_3 = QtGui.QLabel(self.centralwidget)
        self.label_3.setGeometry(QtCore.QRect(20, 110, 101, 21))
        self.label_3.setObjectName("label_3")
        self.label_4 = QtGui.QLabel(self.centralwidget)
        self.label_4.setGeometry(QtCore.QRect(100, 70, 101, 21))
        self.label_4.setObjectName("label_4")
        self.label_5 = QtGui.QLabel(self.centralwidget)
        self.label_5.setGeometry(QtCore.QRect(100, 60, 101, 21))
        self.label_5.setObjectName("label_5")
        self.label_6 = QtGui.QLabel(self.centralwidget)
        self.label_6.setGeometry(QtCore.QRect(20, 80, 201, 21))
        self.label_6.setObjectName("label_6")
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtGui.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 327, 21))
        self.menubar.setObjectName("menubar")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtGui.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)
        
        
        

        self.retranslateUi(MainWindow)
        self.islemler = islemler(self)
        self.islemler.IlkCalistir()
        QtCore.QObject.connect(self.pushButton, QtCore.SIGNAL("clicked()"), self.islemler.IslemYap)
        QtCore.QObject.connect(self.checkBox, QtCore.SIGNAL("clicked()"), self.islemler.DegerDegis)
        QtCore.QObject.connect(self.lineEdit, QtCore.SIGNAL("returnPressed()"), self.pushButton.animateClick)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)
        
        #self.center(MainWindow)

    def retranslateUi(self, MainWindow):
        MainWindow.setWindowTitle(QtGui.QApplication.translate("MainWindow", "Matematik Oyunu", None, QtGui.QApplication.UnicodeUTF8))
        self.pushButton.setText(QtGui.QApplication.translate("MainWindow", "Cevapla", None, QtGui.QApplication.UnicodeUTF8))
        self.checkBox.setText(QtGui.QApplication.translate("MainWindow", "Cevapladıktan sonra çık!", None, QtGui.QApplication.UnicodeUTF8))
        self.Sayi1.setText(QtGui.QApplication.translate("MainWindow", "0", None, QtGui.QApplication.UnicodeUTF8))
        self.Sayi2.setText(QtGui.QApplication.translate("MainWindow", "0", None, QtGui.QApplication.UnicodeUTF8))
        self.label_3.setText(QtGui.QApplication.translate("MainWindow", "Sonuç", None, QtGui.QApplication.UnicodeUTF8))
        self.label_4.setText(QtGui.QApplication.translate("MainWindow", "____________", None, QtGui.QApplication.UnicodeUTF8))
        self.label_5.setText(QtGui.QApplication.translate("MainWindow", ".", None, QtGui.QApplication.UnicodeUTF8))
        self.label_6.setText(QtGui.QApplication.translate("MainWindow", " ", None, QtGui.QApplication.UnicodeUTF8))
        
        
    def center(self, MainWindow):
        screen = QtGui.QDesktopWidget().screenGeometry()
        size = self.geometry()
        self.move((screen.width()-size.width())/2, (screen.height()-size.height())/2)
        
    
class islemler:
    def __init__(self, ui):
        self.ui = ui
    def IslemYap(self):
        global Sayi1
        global Sayi2
        Cevap = int(ui.lineEdit.text())
        Sonuc = Sayi1 * Sayi2
        if Cevap <> Sonuc:
            ui.label_6.setText(u"Hatalı Cevap!!" + str(Sonuc))            
            QtGui.QApplication.processEvents()            
            #reply = QtGui.QMessageBox.question(self, 'Mesaj',"Çıkmak istiyor musun?", QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)            
        else:
            ui.label_6.setText("")
            self.IlkCalistir()
        cmd ='echo To: '+ str(Sayi1) + '>>'+ '~/EceLog.txt'
        os.system(cmd)
            
        
    def DegerDegis(self):
        global Ciksinmi
        Ciksin=True
        
    def IlkCalistir(self):
        global Sayi1
        global Sayi2
        global IslemTipi
        
        self.IslemTipBelirle()
        
        Sayi1=random.randrange(10,100)
        Sayi2=random.randrange(10,100)
        if IslemTipi == 2 and Sayi1<Sayi2:
            while Sayi1<Sayi2:
                Sayi2=random.randrange(10,100)
        
        ui.Sayi1.setText(str(Sayi1))
        ui.Sayi2.setText(str(Sayi2))
        self.LogIlkGiris()
        
    def LogIlkGiris(self):
        global Sayi1
        global Sayi2
        global IslemTipi
        
        a= ui.label_5.text()
        Yil = time.strftime("%Y",time.localtime())
        Ay = time.strftime("%m",time.localtime())
        Gun = time.strftime("%d",time.localtime())
        Saat = time.strftime("%H",time.localtime())
        Dakika = time.strftime("%M",time.localtime())
        Saniye = time.strftime("%S",time.localtime())
        cmd ='echo ' +Yil + '-'+ Ay + '-'+ Gun + ' ' + Saat + ':' + Dakika + ':' + Saniye + '... Sorulan: ' + str(Sayi1) + str(a) + str(Sayi2) + ' >> '+ '~/EceLog.txt'
        os.system(cmd)
        
    def IslemTipBelirle (self):
        global IslemTipi
        
        
        IslemTipi = random.randrange(1,4)
        
        if IslemTipi == 1:            
            ui.label_5.setText('+')
            
        if IslemTipi == 2:
            ui.label_5.setText('-')
            
        if IslemTipi == 3: 
            ui.label_5.setText('x')
            
        if IslemTipi == 4: 
            ui.label_5.setText('Hata')
            
        

    
global Ciksinmi
Ciksinmi = False        

app = QtGui.QApplication(sys.argv)
window = QtGui.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(window)
window.show()
sys.exit(app.exec_())
_______________________________________________
Linux-programlama mailing list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php

Cevap