Python 制作具有周期表的程序

Python 制作具有周期表的程序,python,Python,我正在使用PYCHARM来运行此操作,因为这是我们教授的要求 元素周期表的编制是为了组织有关构成宇宙的元素的信息。编写一个python程序,让您输入元素周期表中每个元素的信息。 确保包含以下信息: 符号、名称、原子序数、行和列 为用户提供选项菜单,以便: 通过输入任何元素的符号,查看存储的有关该元素的所有信息。 选择一个属性并查看表中每个元素的该属性 我有下面的代码 class element: def __init__(self, sym, name, no, typ, row, co

我正在使用PYCHARM来运行此操作,因为这是我们教授的要求

元素周期表的编制是为了组织有关构成宇宙的元素的信息。编写一个python程序,让您输入元素周期表中每个元素的信息。 确保包含以下信息: 符号、名称、原子序数、行和列 为用户提供选项菜单,以便: 通过输入任何元素的符号,查看存储的有关该元素的所有信息。 选择一个属性并查看表中每个元素的该属性

我有下面的代码

class element:
    def __init__(self, sym, name, no, typ, row, col):
        self.symbol = sym
        self.name = name
        self.atomic_number = no
        self.elem_type = typ
        self.row = row
        self.column = col


def viewElement(element, n):
    print("Name: " + element.name)
    if n == 2 or n == 3:
        print("Symbol: " + element.symbol)
    if n == 2 or n == 4:
        print("Atomic Number: " + str(element.atomic_number))
    if n == 2 or n == 5:
        print("Type: " + element.elem_type)
    if n == 2 or n == 6:
        print("Row: " + str(element.row))
    if n == 2 or n == 7:
        print("Column: " + str(element.column))

    print("\n")



if __name__ == "__main__":
    elem_dict = {}

    while 1:
        print("\n Main Menu \n")
        print("1. Add an Element")
        print("2. View an Element")
        print("3. View all Element Names")
        print("4. View all Atomic Numbers")
        print("5. View all Types")
        print("6. View all Row Numbers")
        print("7. View all Column Number")
        print("8. Exit")
        choice = int(input("Enter your Choice: "))

        if choice == 1:
            sym = input("Enter the symbol: ")
            name = input("Enter the element name: ")
            atom = int(input("Enter the atomic number: "))
            typ = input("Enter the element type: ")
            row = int(input("Enter the row number: "))
            col = int(input("Enter the column number: "))

            if sym not in elem_dict.keys():
                e1 = element(sym, name, atom, typ, row, col)
                elem_dict[sym] = e1
                print(sym + " added\n")
            else:
                print("Element already present")

        elif choice == 2:
            sym = input("Enter the symbol: ")
            viewElement(elem_dict[sym], 2)


        elif choice == 3:
            for i in elem_dict.keys():
                viewElement(elem_dict[i], 3)

        elif choice == 4:
            for i in elem_dict.keys():
                viewElement(elem_dict[i], 4)

        elif choice == 5:
            for i in elem_dict.keys():
                viewElement(elem_dict[i], 5)

        elif choice == 6:
            for i in elem_dict.keys():
                viewElement(elem_dict[i], 6)

        elif choice == 7:
            for i in elem_dict.keys():
                viewElement(elem_dict[i], 7)

        elif choice == 8:
            print("Exiting")
            break
        else:
            print("Wrong entry, Please re-enter\n")
当我选择选项1并得到最后一部分时,我一直得到下面的错误

主菜单

  • 添加一个元素
  • 查看元素
  • Viel所有元素名称
  • 查看所有原子序数
  • 查看所有类型
  • 查看所有行号
  • 查看所有列编号
  • 出口
  • 输入您的选择:1

    输入符号:H

    输入元素名称:氢

    输入原子序数:1

    Traceback (most recent call last):
      File "C:/Users/stephanie/Desktop/LEGRANGE_UNIT_SEVEN/Periodic_Table.py", 
    line 51, in <module>
        e1 = element(sym, name, atom, typ, row, col)
    TypeError: element() takes no arguments
    
    Process finished with exit code 1
    
    输入元素类型:气体

    输入行号:1

    Traceback (most recent call last):
      File "C:/Users/stephanie/Desktop/LEGRANGE_UNIT_SEVEN/Periodic_Table.py", 
    line 51, in <module>
        e1 = element(sym, name, atom, typ, row, col)
    TypeError: element() takes no arguments
    
    Process finished with exit code 1
    
    输入列号:1

    Traceback (most recent call last):
      File "C:/Users/stephanie/Desktop/LEGRANGE_UNIT_SEVEN/Periodic_Table.py", 
    line 51, in <module>
        e1 = element(sym, name, atom, typ, row, col)
    TypeError: element() takes no arguments
    
    Process finished with exit code 1
    
    回溯(最近一次呼叫最后一次):
    文件“C:/Users/stephanie/Desktop/LEGRANGE\u UNIT\u SEVEN/Periodic\u Table.py”,
    第51行,在
    e1=元素(符号、名称、原子、类型、行、列)
    TypeError:元素()不接受任何参数
    进程已完成,退出代码为1
    
    您需要将
    init
    方法更改为dunder(
    \uuuuu init\uuuuu
    ):


    否则类将不会初始化,因为您的
    init
    只是类内部的一个自定义方法。

    #Stephanie Le Grange我们删除了pycharm标记,因为您的问题不是pycharm的用法。您的问题是关于python的,不管您使用哪个IDE。