回溯(最近通话最后一个):文件“Calculator.py” 50行,在menu_1 INT(key_1)ValueError异常:无效的字面INT()基数为10: 'HGD'

问题描述 投票:-1回答:2

这里是我的代码的全部:

CUT_0 = .129
CUT_1 = .30
CUT_2 = .10
CUT_3 = .029
CUT_4 = .5
CUT_5 = 'Hello, and welcome to'
CUT_6 = 'Please try a valid option.'
C7 = '\n'
C8 = input('Please enter an option >>> ')

def e_Calc():

    print('Hello')

def settings():

    print('Hello x2')

function_List = {

    '1' : e_Calc,
    '2' : settings,
    '3' : quit

}
menu_List = {

    1 : 'E-Bay Fee Calculator',
    2 : 'Settings',
    3 : 'Exit'
}

def menu_1():

    key_1 = 0
    x = 1

    print(CUT_5 + ' the Online Tool Application.' + C7)
    while x < 4:
        print(str(x) + '.', menu_List[x])
        x += 1

    print(C7)

    key_1 = C8

    print(C7)

    try:
        int(key_1)
        try:
            function_List[key_1]()

        except KeyError:
            return (print(CUT_6 + C7), menu_1())

    except ValueError:
        return (print(CUT_6 + C7), menu_1())



menu_1()

起初一切都可以正常使用,甚至在输入控件。后来我想出了键入“menu_List [4]”到输入的想法,它给了我一个类似的错误标题。现在,我不明白菜单的显示,但只是在输入选项。我输入的菜单项后,如果它是一个选项,然后它会显示菜单,然后运行相应的功能,否则它给出了同样的错误作为标题。

是否有任何人能澄清我如何才能让我的程序做什么它做原来,这是该代码是怎么写的,或者这甚至是怎么来的?如果您可以提供修复程序将是一件好事,如果有一个。

python list dictionary keyerror valueerror
2个回答
0
投票

你犯了两个错误(我comented即行),你应该删除行:C8 =输入(“请输入选项>>>”),因为Python代码执行一行行,以及任何你的函数运行之前,它的要求您输入值。之后,你应该改变行:key_1 = C8,具有:key_1 =输入(“请输入选项>>>”)这里是应该在你所希望的方式工作的代码:

CUT_0 = .129
CUT_1 = .30
CUT_2 = .10
CUT_3 = .029
CUT_4 = .5
CUT_5 = 'Hello, and welcome to'
CUT_6 = 'Please try a valid option.'
C7 = '\n'
# C8 = input('Please enter an option >>> ')

def e_Calc():

    print('Hello')

def settings():

    print('Hello x2')

function_List = {

    '1' : e_Calc,
    '2' : settings,
    '3' : quit

}
menu_List = {

    1 : 'E-Bay Fee Calculator',
    2 : 'Settings',
    3 : 'Exit'
}

def menu_1():

    key_1 = 0
    x = 1

    print(CUT_5 + ' the Online Tool Application.' + C7)
    while x < 4:
        print(str(x) + '.', menu_List[x])
        x += 1

    print(C7)

    #key_1 = C8
    key_1 = input('Please enter an option >>> ')

    print(C7)

    try:
        int(key_1)
        try:
            function_List[key_1]()

        except KeyError:
            return (print(CUT_6 + C7), menu_1())

    except ValueError:
        return (print(CUT_6 + C7), menu_1())



menu_1()

0
投票

好了,所以这个问题是全局变量C8是菜单()函数执行之前执行输入。

© www.soinside.com 2019 - 2024. All rights reserved.