Python,If语句错误,变量表示未定义



在python中尝试使用if语句时遇到问题。我看不出一个变量是真是假,因为它说变量没有定义,但我在方法中定义了它。

我也在使用kivy和kivyMD,以防人们想知道为什么会有一些代码。

from kivymd.app import MDApp
from kivymd.uix.screen import Screen
from kivymd.uix.button import MDRectangleFlatButton, MDRoundFlatButton
from kivymd.uix.textfield import MDTextField
from kivy.lang import Builder
from kivymd.uix.menu import MDDropdownMenu
class DemoApp(MDApp):
def show_data(self):
inputFahrenheit = self.root.ids.fahrenheit.text
if fahrenheit1 is True:
Celsius_Half = float(inputFahrenheit) - 32 
Celsius_Before_Round = Celsius_Half * 5/9
Celsius = round(Celsius_Before_Round , 1)
def convert1F(self):
fahrenheit1 = True
celsius1 = False
def convert1C(self):
fahrenheit1 = False
celsius1 = True
def convert2F(self):
fahrenheit2 = True
celsius2 = False
def convert2C(self):
fahrenheit2 = False
celsius2 = True
def on_start(self):
self.theme_cls.primary_palette = "Green"
self.theme_cls.primary_hue = "A700"
self.theme_cls.theme_style = "Light"
def build(self):
kv = Builder.load_file("test.kv") 
screen = Screen()
return kv


DemoApp().run()

if语句是问题所在—存在问题的副本:"fahrenheit1" is not defined

为了定义fahrenheit1,您需要将其声明为类属性。在类__init__中定义in,或在任何方法之外在类顶部定义为静态属性(为fahrenheit1: bool = <your_defualt_value>

因为没有定义的变量fahrenheit1。修复第一个

最新更新