Python 3.x Don';我不明白为什么:name错误:name';numSyst';没有定义

Python 3.x Don';我不明白为什么:name错误:name';numSyst';没有定义,python-3.x,Python 3.x,对python来说相对较新,并且似乎无法排除为什么程序在调用函数之后不会运行;我似乎无法识别名称错误。请帮忙 decimal = int(input("Enter decimal number to convert to base: ")) base = int(input("Enter base for the conversion: ")) print(" ____") print(str(base)+"|"+str(decimal)) conversion = numSyst(decima

对python来说相对较新,并且似乎无法排除为什么程序在调用函数之后不会运行;我似乎无法识别名称错误。请帮忙

decimal = int(input("Enter decimal number to convert to base: "))
base = int(input("Enter base for the conversion: "))
print(" ____")
print(str(base)+"|"+str(decimal))
conversion = numSyst(decimal,base)
print("Base "+str(base)+" value of "+str(decimal)+" = "+conversion)
在numSyst函数中使用的函数
确保您正在定义
hex
,然后定义
numSyst
,然后像这样调用
numSyst
。在Python中,如果是像这里这样的独立脚本,则应该在使用之前定义要使用的函数

def hex(remainder):
    hexN = ""
    if (remainder >=10 and remainder <=15):
        if remainder == 10:
            hexN = "A"
        if remainder == 11:
            hexN = "B"
        if remainder == 12:
            hexN = "C"
        if remainder == 13:
            hexN = "D"
        if remainder == 14:
            hexN = "E"
        if remainder == 15:
            hexN = "F"
    elif int(remainder) <= 9:
        hexN = str(remainder)

    return hexN


def numSyst(decimal,base):
    num = ""
    remainder =-1
    if decimal == 0:
        num = "0"
    else:
        while decimal > 0:
            remainder = int(decimal%base)
            decimal = int(decimal//base)
            if base == 16:
                convert = int(remainder)
                num = num + hex(remainder)
            else:
                num = num + str(remainder)
    return num

decimal = int(input("Enter decimal number to convert to base: "))
base = int(input("Enter base for the conversion: "))
print(" ____")
print(str(base)+"|"+str(decimal))
conversion = numSyst(decimal,base)
print("Base "+str(base)+" value of "+str(decimal)+" = "+conversion)
#Enter decimal number to convert to base: 15
#Enter base for the conversion: 2
#____
#2|15
#Base 2 value of 15 = 1111
def十六进制(余数):
hexN=“”

如果(余数>=10,余数在输出/控制台日志中得到什么?请检查下面的答案!您只需要按正确的顺序定义函数
def numSyst(decimal,base):
    num = ""
    remainder =-1
    if decimal == 0:
        num = "0";
    else:
        while decimal > 0:
            remainder = int(decimal%base)
            decimal = int(decimal//base)
            if base == 16:
                convert = int(remainder)
                num = num + hex(remainder)
            else:
                num = num + str(remainder)
    return num      
def hex(remainder):
    hexN = ""
    if (remainder >=10 and remainder <=15):
        if remainder == 10:
            hexN = "A"
        if remainder == 11:
            hexN = "B"
        if remainder == 12:
            hexN = "C"
        if remainder == 13:
            hexN = "D"
        if remainder == 14:
            hexN = "E"
        if remainder == 15:
            hexN = "F"
    elif int(remainder) <= 9:
        hexN = str(remainder)

    return hexN


def numSyst(decimal,base):
    num = ""
    remainder =-1
    if decimal == 0:
        num = "0"
    else:
        while decimal > 0:
            remainder = int(decimal%base)
            decimal = int(decimal//base)
            if base == 16:
                convert = int(remainder)
                num = num + hex(remainder)
            else:
                num = num + str(remainder)
    return num

decimal = int(input("Enter decimal number to convert to base: "))
base = int(input("Enter base for the conversion: "))
print(" ____")
print(str(base)+"|"+str(decimal))
conversion = numSyst(decimal,base)
print("Base "+str(base)+" value of "+str(decimal)+" = "+conversion)
#Enter decimal number to convert to base: 15
#Enter base for the conversion: 2
#____
#2|15
#Base 2 value of 15 = 1111