python 几进制数字,想数多少个数,每个数字想用什么元素代表,输入之后程序就会按照设置数数啦

自己定义几进制来数数吧

def getinfo():
    a = int(input("想要几进制?"))
    b = input("想要数几个数?")
    print("想用什么元素作为数字,输入的元素个数要与你想要的进制相等哦,我会一直问下去直到取得了足够用的数字!"
          "不能有重复的哦!你可以试试不用数字,用字母也可以,特殊符号也可以", end="")
    
    c = shifouchongfu(a)
    return a, b, c

def outnumbers():
    count1, how1, numberlist1 = getinfo()
    count1 = int(count1)
    how1 = int(how1)
    numbers = []   
    for i in range(0,how1):
        y = i % count1
        x = i-y
        str1 = []
        str1.insert(0, numberlist1[y])
        str2 = "".join("%s" % xd for xd in str1)
        while x >= count1:
            x = x // count1
            y = x % count1
            x = x - y
            str1.insert(0, numberlist1[y])
            str2 = "".join("%s" % xd for xd in str1)
        numbers.append(str2)
    return numbers

def shifouchongfu(a):
    c = list()
    while len(c) < a:
        d = input()
        if d not in c:
            c.append(d)
        else:
            print("你需要重新输入一个元素,你刚刚输入的元素跟前面的重复了")
    return c

if __name__ == "__main__":
    shushu = outnumbers()
    print(shushu)

以16进制为例
要求输入在这里插入图片描述输出结果
在这里插入图片描述

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值