请求实现按下'e'键执行C++ Min Max计算器程序功能
Hey! 既然是学校项目,咱们就用最简洁的方式实现按'e'键触发结果展示的功能,下面分命令行版和简单GUI版两种方案,你可以根据自己的项目类型选择:
方案1:命令行版本(纯标准库,无需额外安装)
这个版本用Python基础输入输出就能实现,完全符合简洁要求:
# 初始化计算所需变量 eingabe_zahlen = [] min_wert = None max_wert = None anzahl = 0 print("Gib Zahlen ein (drücke 'e' zum Auswerten der Ergebnisse):") # 循环读取输入,直到用户按下'e' while True: nutzer_eingabe = input("> ") # 检测是否按下'e'(不区分大小写) if nutzer_eingabe.lower() == 'e': break # 尝试将输入转换为数字,处理无效输入 try: zahl = float(nutzer_eingabe) eingabe_zahlen.append(zahl) except ValueError: print("⚠️ Ungültige Eingabe! Bitte eine Zahl eingeben oder 'e' zum Beenden.") # 计算并展示结果(德语界面适配) if eingabe_zahlen: min_wert = min(eingabe_zahlen) max_wert = max(eingabe_zahlen) anzahl = len(eingabe_zahlen) print("\n--- Ergebnis ---") print(f"Anzahl der eingegebenen Zahlen: {anzahl}") print(f"Kleinster Wert: {min_wert if min_wert is not None else 'Keine Zahlen eingegeben'}") print(f"Größter Wert: {max_wert if max_wert is not None else 'Keine Zahlen eingegeben'}")
功能说明:
- 用户可以持续输入数字,输入
e(大小写都可以)就停止输入并展示结果 - 自动过滤无效输入(比如字母、符号),给出德语提示
- 没有输入数字时也会友好提示
方案2:简单GUI版本(用Tkinter,Python自带库)
如果你的项目需要图形界面,这个版本同样简洁,并且支持按'e'键触发计算:
import tkinter as tk from tkinter import messagebox class MinMaxRechner: def __init__(self, root): self.root = root self.root.title("Min Max Rechner") self.eingabe_zahlen = [] # 界面元素(德语标签) self.label = tk.Label(root, text="Gib eine Zahl ein:") self.label.pack(pady=5) self.eingabe_feld = tk.Entry(root) self.eingabe_feld.pack(pady=5) # 绑定'e'键到计算函数 self.eingabe_feld.bind('<Key-e>', self.zeige_ergebnis) self.hinzufuegen_btn = tk.Button(root, text="Zahl hinzufügen", command=self.fuege_zahl_hinzu) self.hinzufuegen_btn.pack(pady=5) def fuege_zahl_hinzu(self): # 添加输入的数字到列表 try: zahl = float(self.eingabe_feld.get()) self.eingabe_zahlen.append(zahl) self.eingabe_feld.delete(0, tk.END) except ValueError: messagebox.showerror("Fehler", "Bitte gib eine gültige Zahl ein!") def zeige_ergebnis(self, event): # 按'e'时触发的计算与结果展示 if not self.eingabe_zahlen: messagebox.showinfo("Ergebnis", "Keine Zahlen wurden eingegeben!") return min_wert = min(self.eingabe_zahlen) max_wert = max(self.eingabe_zahlen) anzahl = len(self.eingabe_zahlen) ergebnis_text = f"Anzahl der Zahlen: {anzahl}\nKleinster Wert: {min_wert}\nGrößter Wert: {max_wert}" messagebox.showinfo("Ergebnis", ergebnis_text) self.eingabe_feld.delete(0, tk.END) if __name__ == "__main__": root = tk.Tk() app = MinMaxRechner(root) root.mainloop()
功能说明:
- 输入框中按下'e'键直接弹出结果窗口
- 可以通过按钮手动添加数字,操作更灵活
- 同样处理无效输入和空输入的情况
这两个方案都足够简洁,完全适配学校项目的要求,你可以根据自己的项目场景选择合适的版本~
内容的提问来源于stack exchange,提问作者master_of_not_knowlege
相关产品推荐
相关产品推荐

