- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了一个tkinter程序来计算gpa,我剩下的唯一部分是错误处理部分,而我只是找不到写无限错误处理循环的方法。我正在尝试编写循环,所以当您给除(1,2,3,4,5,6,7,8)以外的其他类数以不同的值时,程序将不会继续运行,直到您提供了类数正确的值(value)。
from tkinter import *
import math
master = Tk()
master.title('Gpa Calculator')
master.geometry("400x400")
master.resizable(width=False, height=False) #Makes the window size fixed, so you can't make it bigger or smaller by hand.
def Print_Entry():
global print_command
global Entry_int
Entry = n_of_classes_entry.get()
Entry_int = int(Entry)
Create_Classes()
#A function to destroy and recreate the program
def restart():
classentries.clear()
classintegers.clear()
classintegers_gpa.clear()
list = master.grid_slaves()
for l in list:
l.destroy()
start_program()
textlist = ['First', 'Second', 'Third', 'Fourth', 'Fifth', 'Sixth', 'Seventh', 'Eight']
classentries = []
classintegers = []
classintegers_gpa = []
#Creates the entry, text, and entry boxes for the classes
def Create_Classes():
for i in range (0, Entry_int):
classentries.append(Entry(master))
for i in range (0, Entry_int):
classentries[i].grid(row=1 + i, column=1)
for i in range (0, Entry_int):
Label(master, text=textlist[i] + ' grade:').grid(row=i + 1, sticky=E)
calculate_button = Button(master, bg="red", text="Calculate", command=Calculate).grid(row=9, column=1, sticky=W, pady=4)
def Calculate():
for i in range (0, Entry_int):
classintegers.append(round(float(classentries[i].get())))
if classintegers[i] in range(0,50):
classintegers[i] = 0
if classintegers[i] in range(50,55):
classintegers[i] = 1.0
if classintegers[i] in range(55,60):
classintegers[i] = 2.0
if classintegers[i] in range(60,65):
classintegers[i] = 2.3
if classintegers[i] in range(65,70):
classintegers[i] = 2.7
if classintegers[i] in range(70,75):
classintegers[i] = 3.0
if classintegers[i] in range(75,80):
classintegers[i] = 3.3
if classintegers[i] in range(80,85):
classintegers[i] = 3.7
if classintegers[i] in range(85,110):
classintegers[i] = 4.0
classintegers_gpa.append(classintegers[i])
last_calculate = True
# This while loop is for the program to print the gpa_calculation once.
if last_calculate == True:
global gpa_calculation
gpa_calculation = round(sum(classintegers_gpa))/len(classintegers_gpa)
gpa_rounded = float("{0:.2f}".format(gpa_calculation))
printgpa = Label(master, text="Your Gpa is: " + str(gpa_rounded)).grid(row=10,column=1)
Button(master,text='Restart',command=restart).grid(row=11)
Print_Entry()
def start_program():
global n_of_classes
global n_of_classes_entry
global n_of_classes_button
n_of_classes = Label(master, text="Number of Classes 1-8:").grid(row=0, sticky=E)
n_of_classes_entry = Entry(master)
n_of_classes_entry.grid(row=0, column=1)
n_of_classes_button = Button(master, bg="green", command=Print_Entry,height=1, width=2).grid(row=0, column=2)
start_program()
最佳答案
我建议在IF语句中包含print_entry定义的内容。如果该值可接受,请继续,否则发送错误消息。您可以使用tkinter showinfo消息框发送错误。请参阅下面的代码建议:
from tkinter import messagebox
def Print_Entry():
nb_entry = n_of_entry.get()
if nb_entry <9 and nb_entry > 0 :
global print_command
global Entry_int
Entry = n_of_classes_entry.get()
Entry_int = int(Entry)
Create_Classes()
else :
messagebox.showinfo("Error", "The number of classes must be between 1 and 8")
关于python - 在Tkinter中设置错误处理循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56588339/
我是 PHP 新手。我一直在脚本中使用 for 循环、while 循环、foreach 循环。我想知道 哪个性能更好? 选择循环的标准是什么? 当我们在另一个循环中循环时应该使用哪个? 我一直想知道要
我在高中的编程课上,我的作业是制作一个基本的小计和顶级计算器,但我在一家餐馆工作,所以制作一个只能让你在一种食物中读到。因此,我尝试让它能够接收多种食品并将它们添加到一个价格变量中。抱歉,如果某些代码
这是我正在学习的一本教科书。 var ingredients = ["eggs", "milk", "flour", "sugar", "baking soda", "baking powder",
我正在从字符串中提取数字并将其传递给函数。我想给它加 1,然后返回字符串,同时保留前导零。我可以使用 while 循环来完成此操作,但不能使用 for 循环。 for 循环只是跳过零。 var add
编辑:我已经在程序的输出中进行了编辑。 该程序要求估计给定值 mu。用户给出一个值 mu,同时还提供了四个不等于 1 的不同数字(称为 w、x、y、z)。然后,程序尝试使用 de Jaeger 公式找
我正在编写一个算法,该算法对一个整数数组从末尾到开头执行一个大循环,其中包含一个 if 条件。第一次条件为假时,循环可以终止。 因此,对于 for 循环,如果条件为假,它会继续迭代并进行简单的变量更改
现在我已经习惯了在内存非常有限的情况下进行编程,但我没有答案的一个问题是:哪个内存效率更高;- for(;;) 或 while() ?还是它们可以平等互换?如果有的话,还要对效率问题发表评论! 最佳答
这个问题已经有答案了: How do I compare strings in Java? (23 个回答) 已关闭 8 年前。 我正在尝试创建一个小程序,我可以在其中读取该程序的单词。如果单词有 6
这个问题在这里已经有了答案: python : list index out of range error while iteratively popping elements (12 个答案) 关
我正在尝试向用户请求 4 到 10 之间的整数。如果他们回答超出该范围,它将进入循环。当用户第一次正确输入数字时,它不会中断并继续执行 else 语句。如果用户在 else 语句中正确输入数字,它将正
我尝试创建一个带有嵌套 foreach 循环的列表。第一个循环是循环一些数字,第二个循环是循环日期。我想给一个日期写一个数字。所以还有另一个功能来检查它。但结果是数字多次写入日期。 Out 是这样的:
我想要做的事情是使用循环创建一个数组,然后在另一个类中调用该数组,这不会做,也可能永远不会做。解决这个问题最好的方法是什么?我已经寻找了所有解决方案,但它们无法编译。感谢您的帮助。 import ja
我尝试创建一个带有嵌套 foreach 循环的列表。第一个循环是循环一些数字,第二个循环是循环日期。我想给一个日期写一个数字。所以还有另一个功能来检查它。但结果是数字多次写入日期。 Out 是这样的:
我正在模拟一家快餐店三个多小时。这三个小时分为 18 个间隔,每个间隔 600 秒。每个间隔都会输出有关这 600 秒内发生的情况的统计信息。 我原来的结构是这样的: int i; for (i=0;
这个问题已经有答案了: IE8 for...in enumerator (3 个回答) How do I check if an object has a specific property in J
哪个对性能更好?这可能与其他编程语言不一致,所以如果它们不同,或者如果你能用你对特定语言的知识回答我的问题,请解释。 我将使用 c++ 作为示例,但我想知道它在 java、c 或任何其他主流语言中的工
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
我是 C 编程和编写代码的新手,以确定 M 测试用例的质因数分解。如果我一次只扫描一次,该功能本身就可以工作,但是当我尝试执行 M 次时却惨遭失败。 我不知道为什么 scanf() 循环有问题。 in
这个问题已经有答案了: JavaScript by reference vs. by value [duplicate] (4 个回答) 已关闭 3 年前。 我在使用 TSlint 时遇到问题,并且理
我尝试在下面的代码中添加 foreach 或 for 循环,以便为 Charts.js 创建多个数据集。这将允许我在此折线图上创建多条线。 我有一个 PHP 对象,我可以对其进行编码以稍后填充变量,但
我是一名优秀的程序员,十分优秀!