如何在不重复elif语句的情况下添加不同的数字序列?

时间:2019-01-04 07:47:32

标签: python python-3.x math

我想要一个数字行,每当数字根的数字根为2到8时,数字都加1。数字根等于0时,数字加10;数字根等于1时,数字减8。

navigationOptions: ({ navigation }) => ({    
      headerTransparent: true
})

所需的输出:

#base nine(b9) number line generator
def base_nine(num):
    if num %9 == [1,8]:
        num = num + 1
    elif num %9 == 0:
        num = num + 10
    elif num %8 == 0:
        num = num - 8
    while num <=30:
        print(num)

base_nine(1)

1 个答案:

答案 0 :(得分:1)

如果您想将数字转换为以9为底的字符串,这就是您的方法。

def base_nine(n):
    if n == 0:
        return "0"
    digits = ""
    while n:
        digits += str(n % 9)
        n //= 9
    return digits[::-1]