首页 > 解决方案 > Kivy quiz app in python to add print score after correct answer

问题描述

enter code hereI want to print score after every correct answer of my quiz game in kivy.I don't know how to print incremented score after every correct answer.

Code:

class RootWidget(Widget):
    pass
class ScreenManagement(ScreenManager):
    pass
class MainScreen(Screen):
    pass
class AnotherScreen(Screen):
    pass
class SecondScreen(Screen):
    label_text = StringProperty(0)
    def __init__(self, **kwargs):
        super(SecondScreen,self).__init__(**kwargs)
        self.count = 0
        self.label_text =str(self.count)
    def increment(self,*args):
        self.count +=1
        self.label_text = str(self.count)
        print(self.label_text)

class Score1(Screen):
    label_text = StringProperty(0)
    def __init__(self, **kwargs):
        super(Score1,self).__init__(**kwargs)
        self.count = 0
        self.label_text =str(self.count)
    def increment(self,*args):
        self.count +=1
        self.label_text = str(self.count)
        print(self.label_text)

kv file:

<ThirdScreen>:
    name:'3'
    BoxLayout:
        orientation:"vertical"

        Label:
            text:"Who amongst the follwing had called Rabindranath Tagore as THE GREAT SENTINEL?"
            font_size:20
        Button:
            text:'Abdul Kalam Azad'
            size:30,30
            on_release:app.root.current="4"
        Button:
            text:"Mahatma Gandhi"
            size:30,30
            on_press:root.increment()
            on_release:app.root.current="4"
        Button:
            text:'Dr. Rajendra Prasad'
            size:30,30
            on_release:app.root.current="4"
        Button:
            text:'Subhash Chandra Bose'
            size:30,30
            on_release:app.root.current="4"
<Score1>:
    name:'s'
    BoxLayout:
        orientation:'vertical'
        Label:
            text:root.label_text
        Button:
            text: "Next"

            on_release:app.root.current='3'
            on_release:app.root.current='4'
            on_release:app.root.current='5'
            on_release:app.root.current='6'
            on_release:app.root.current='7'

标签: pythonkivy

解决方案


您必须在页面上创建一个标签。设计您的标签,如.kv

Label:
    text: root.current_score

您还需要在 .py文件中设置 current_score,例如:

current_score = NumericProperty(0)

现在,您只需要检查答案并在 .py 文件上的函数中增加-减少您的分数。


推荐阅读