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