【问题标题】:Python convert from number system to number systemPython从数字系统转换为数字系统
【发布时间】:2021-02-23 12:50:55
【问题描述】:

在课堂上,我们获得了编写脚本以将数字系统转换为数字系统(例如从十六进制转换为对偶等)的任务。 我不期望完整的代码,只是想展示我的,它可以工作,但我觉得它很糟糕(我们只有 3 周的 python)。 有什么改进的建议吗? 就像我说的,作业已经完成并且已经上交,但我想改进;)



       if aw == "q" or aw == "1" or aw == "2" or aw == "3" or aw == "4":
            done = False
        else:
            print("\n Keine gültige Auswahl bitte versuchen Sie es erneut ")
    
    return aw

def ag(blacklist):              
    done = True
    while done:
        
        if blacklist !="1":
            print ("(d) Dezimal")
        if blacklist !="2":
            print ("(b) Binär")
        if blacklist !="3":
            print ("(h) Hexadezimal")
        if blacklist !="4":
            print ("(o) Oktal")
        if blacklist !="q":
            print ("(q) Beenden")
            
        print ("")

    
        ag = input("Ihre Wahl")
        if ag == "d" or ag == "b" or ag == "h" or ag == "o" or ag == "q":
            done = False
        else:
            
            print("\n Keine gültige Auswahl bitte versuchen Sie es erneut ")
        return ag
def convertToOctal(decimal):
    # slice off the first two characters and return the rest
    return str(oct(decimal))[2:]

def convertToHex(decimal):
    # slice off the first two characters and return the rest
    return str(hex(decimal))[2:]

def convertToBinary(decimal):
    # slice off the first two characters and return the rest
    return str(bin(decimal))[2:]

def convertToDecimal(number, base, validBases = [2, 8, 16]):
    """
      Returns the number (given in string format) in the specified base
    """
    if base not in validBases:
        raise Exception("Invalid base")
        
    return int(number, base)
     

【问题讨论】:

    标签: python numbers system


    【解决方案1】:

    考虑到你学习 Python 3 周,你做得很好。您只需了解 Python 中已有的内置函数以及它们的工作原理。

    def convertToOctal(decimal):
        # slice off the first two characters and return the rest
        return str(oct(decimal))[2:]
    
    def convertToHex(decimal):
        # slice off the first two characters and return the rest
        return str(hex(decimal))[2:]
    
    def convertToBinary(decimal):
        # slice off the first two characters and return the rest
        return str(bin(decimal))[2:]
    
    def convertToDecimal(number, base, validBases = [2, 8, 16]):
        """
          Returns the number (given in string format) in the specified base
        """
        if base not in validBases:
            raise Exception("Invalid base")
            
        return int(number, base)
    
    

    您还必须做一些错误检查(例如,用户是否实际上将有效数字传递给了相应的函数),但上面的代码基本上是您在程序中的业务逻辑。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-04
      • 1970-01-01
      • 2023-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-12
      相关资源
      最近更新 更多