Python AttributeError:我不知道为什么这不起作用

时间:2015-05-12 15:28:20

标签: python tkinter attributes syntax-error trackback

from tkinter import *

def Exit():
    print()

def newClassResults():
    #assigns variable to an input so it can be reffered to later
    amount = int(input("How many people would you like to add? "))

    #starts for loop
    for counter in range(amount):
#assigns inputto a  variable called 'newName'
        newName = input("\nEnter the new student's name: ")
#assigns input to a  variable called 'newScore'
        newScore = int(input("Enter the new student's score: "))
#adds new results to the list below
        students_and_score.append((newName,newScore))
        score.append(newScore)

def saveResults():
#imports time module so that the program can pause for a certain amount of time
import time
    print("\nSaving...")
#waits for 2 seconds
time.sleep(2)
print("\nStudents' names saved")
print("Students' scores saved")

def sortResults():
#imports operator module 
    import operator
#imports time module 
    import time
#sorts results in acsending order
    students_and_score.sort(key=operator.itemgetter(1))
#prints in ascending order
    print("\nSorting Results...")
#waits for 2 seconds
    time.sleep(2)
    print(students_and_score)

    def percentageCalc():
#assigns input to variable called 'number'
    number = int(input("\nEnter minimum mark: "))
#creates variable called 'size'
    size = len(score)
    index = 0
    for counter in range(size):
        if score[index] > number:
            higher.append(score[index])
        index = index + 1
    higherLength = len(higher)
#calculates percentage of people with score over amount entered
    finished = higherLength / size
    finished = finished * 100
#rounds percentage
    finished = round(finished)
#creates space between line
    print("\n")
    print(finished,"% of your students got over",number,"marks")

def printResults():
#starts for loop
    for pair in students_and_score:
#creates space between line
        print("\n")
#changes layout of list so it is more readable
        print(pair[0],pair[1])

#assigns list to a variable
students_and_score = [("Imelda Thomas",74),("Craig Parr",90),("Eric      Salisbury",58),("Laurence Mann",35),("Bill Walford",82),("David Haroald",27,("Pamela Langley",43),("Sarah Boat",39),("Rachel Matthews",62),("Michaela Cunningham",69)]
score = [74,90,58,35,82,27,43,39,62,69]
higher = []

window = Tk()
#sets background colour
window.configure(background="white")
#assigns title
window.title("Menu")
#sets the size of window
window.geometry("300x300")
window.wm_iconbitmap('favicon.ico')

menu = Menu(window)


subMenu = Menu(menu)
menu.add_cascade(label="File", menu=subMenu)
subMenu.add_command(label="Exit", command=Exit)

subMenu = Menu(menu)
menu.add_cascade(label="Edit", menu=subMenu)
subMenu.add_command(label="Enter New Class Results",)     command=newClassResults)
subMenu.add_seperator()
subMenu.add_command(label="Save Results", command=saveResults)
subMenu.add_command(label="Sort Results", command=sortResults)
subMenu.add_command(label="Print Results", command=printResults)

subMenu.add_separator()

subMenu.add_command(label="Calculate Percentage", command=percentageCalc)



window.config(menu=menu)
window.mainloop()

我想出了这个错误:

Traceback (most recent call last):
  File "C:\Users\alex\Documents\School\Year 9\Computer Science\Summative Test\Python Code.py", line 94, in <module>
    subMenu.add_seperator()
AttributeError: 'Menu' object has no attribute 'add_seperator'

我想在下拉菜单中的两个按钮之间设置分隔符

1 个答案:

答案 0 :(得分:1)

拼写?试试subMenu.add_separator()