اذهب إلى المحتوى
  • 0

السؤال المتكرر

عمار هبه

السؤال

لم يشتغل الكود فقط تعرض خلفية بيضاء...اين الخطأ? ..ماذا افتقد? 

from tkinter import *
from tkinter.colorchooser import *
from tkinter.messagebox import *
from tkinter.constants import *

#g= tkinter.Tk()
g=Tk()
#g.config(background="white")
n=StringVar()
q=1
questions={" 1.أيّ لغة برمجة هذه؟ :":"C. بايثون",
" 2.لماذا تستخدم بايثون؟ :":"D. كلاهما",
" 3.متى ستصبح مبرمجاً؟:":"D. بسرعة ",
#" 4.لماذا اخترت بايثون؟: ":"A"
}
options=[["A. جافا","B. سي++","C. بايثون","D. كود"],
["A. سهلة","B. عالمية","C. غير","D. كلاهما"],
["A. بعد عام","B. بعد ستة أشهر","C. الظهر","D. بسرعة "],
#["A. سهلة","B. عالمية","C. شخص أوصى بها","D. نعم "]
]

def cin():
    global q
    if q < len(questions):
        if q in questions:
            ff=Label(g,text=questions[q])
            ff.pack()
            k =(questions.get(questions[q]))
        for i in options[q-1]:
                c = Radiobutton(g, text = i,fg = "black", width = 12, height = 1,variable=n, value=i ,bd = 2, bg = "white", cursor = "hand2" ,command=lambda:cin())
                c.pack()
        s = n.get()
        k =(questions.get(questions[q]))
        if s == k :
                showinfo(title='معلومات',message='مبروك، لقد نجحت')
                q += 1
        else:
                showerror(title='خطأ',message='لقد أخطأت')
    else:
        showinfo(title='معلومات',message='لقد انتهيت')

cin()
g.mainloop()

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

الكود الذي قدمته يستخدم واجهة tkinter لإنشاء نافذة وعرض أسئلة وخيارات الإجابة. ولكن يوجد بعض الأخطاء في التنسيق والمنطق. هنا هو الكود المحدث والمصحح:

from tkinter import *
from tkinter.messagebox import *

g = Tk()
n = StringVar()
q = 1

questions = {
    "1. أيّ لغة برمجة هذه؟": "C. بايثون",
    "2. لماذا تستخدم بايثون؟": "D. كلاهما",
    "3. متى ستصبح مبرمجاً؟": "D. بسرعة"
}

options = [
    ["A. جافا", "B. سي++", "C. بايثون", "D. كود"],
    ["A. سهلة", "B. عالمية", "C. غير", "D. كلاهما"],
    ["A. بعد عام", "B. بعد ستة أشهر", "C. الظهر", "D. بسرعة"]
]

def cin():
    global q
    if q <= len(questions):
        question = list(questions.keys())[q - 1]
        ff = Label(g, text=question)
        ff.pack()

        for i in range(len(options[q - 1])):
            c = Radiobutton(g, text=options[q - 1][i], fg="black", width=12, height=1, variable=n, value=options[q - 1][i], bd=2, bg="white", cursor="hand2", command=lambda: cin())
            c.pack()

        if q > 1:
            s = n.get()
            k = questions[question]
            if s == k:
                showinfo(title='معلومات', message='مبروك، لقد نجحت')
            else:
                showerror(title='خطأ', message='لقد أخطأت')

        q += 1
    else:
        showinfo(title='معلومات', message='لقد انتهيت')

cin()
g.mainloop()


 

تم إجراء بعض التعديلات في الكود، بما في ذلك:

- تم تصحيح قيمة المفتاح والقيمة في قاموس `questions` لكي تكون متطابقة مع الإجابات الممكنة.
- تم تحديث الحلقة لتحميل الأسئلة والخيارات بشكل صحيح.
- تمت إضافة شرط للتحقق من الإجابة بعد الاختيار.

يجب أن يعمل الكود المصحح الآن بشكل صحيح ويعرض الأسئلة ويتحقق من الإجابات.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...