输入字段值未打印 - Python

0 投票
0 回答
36 浏览
提问于 2025-04-11 23:49

当我在“评级数据标签”中输入所有字段的值时,除了输入线电压和输出线电压之外,其他所有值都能打印出来。同时,我还收到一个错误信息,提示“所有评级数据输入字段必须填写”,因为代码没有捕捉到输入线电压和输出线电压的值。有人能解释一下为什么吗?谢谢

    # Rating Data Labels
    labels = ["KVA Rating:", "IT Type:", "Input line voltage:", "Output line voltage:",
              "Frequency:", "Connection type:", "Current Density:", "Flux Density:",
              "Conductor material:"]
    for i, label_text in enumerate(labels):
        tk.Label(self.input_frame, text=label_text).grid(row=i + 3, column=0, sticky="w")

    
    # Entry fields
    self.entries = {}
    # Rating data entry
    entry_values = ["KVA Rating", "IT Type", "Input line voltage", "Output line voltage", "Frequency",
                    "Connection type",
                    "Current Density", "Flux Density", "Conductor material"]
    for i, value in enumerate(entry_values):
        entry = ttk.Entry(self.input_frame)
        entry.grid(row=i + 3, column=1, padx=1, pady=1)
        self.entries["entry_" + str(i)] = entry  # Use unique keys

def calculate(self):
    try:
        # Get values from entry fields
        values = [entry.get() for entry in self.entries.values()]
        print("Values:", values)

        # Perform calculations
        # Check for empty fields in Rating data
        if any(value == '' for value in values[:9]):
            raise ValueError("All Rating data input fields must be filled.")

        # Rating data
        kva_rating = float(values[0])
        isolation_transformer_type = str(values[1])
        input_line_voltage = float(values[2])
        output_line_voltage = float(values[3])
        frequency = float(values[4])
        connection_type = str(values[5])
        current_density = float(values[6])
        flux_density = float(values[7])
        conductor_material = str(values[8])

        

我尝试打印这些值,以检查所有字段是否都能捕捉到输入的值,结果发现有两个字段是空的,尽管我在那儿输入了值。

0 个回答

暂无回答

撰写回答