小编Ang*_*ela的帖子

如何显示0-N范围内"超级数字"的所有数字

  1. 该方案要求一个数字用户Ñ.

  2. 该程序应该显示0- N范围内的所有数字,即"超级数字".

    超级数:是一个数字,使得其数字的阶乘的总和等于数字.

    例子:

    • 12!= 1!+ 2!= 1 + 2 = 3(不是超级)
    • 145 = 1!+ 4!+ 5!= 1 + 24 + 120(超级)
  3. 我似乎坚持的部分是程序显示0- N范围内的所有数字,即"超级数字".我已经得出结论,我需要一个循环才能解决这个问题,但我不知道如何解决这个问题.因此,例如,程序应该读取0-50中的所有数字,并且只要数字是超级,它就会显示它.所以它只显示1和2,因为它们被认为是超级的

    enter integer: 50
    2 is super
    1 is super
    
    Run Code Online (Sandbox Code Playgroud)
  4. 我写了两个函数; 第一个是常规因子程序,第二个是对数字的阶乘进行求和的程序:

    number = int(input ("enter integer: "))
    
    def factorial (n):
        result = 1 
        i = n * (n-1)
        while n >= 1:
            result = result * n
            n = n-1
        return result
    
    #print(factorial(number))
    
    def breakdown (n):
        breakdown_num = 0
        remainder = …
    Run Code Online (Sandbox Code Playgroud)

python python-3.x

10
推荐指数
2
解决办法
809
查看次数

按顺序打印字符串

目标是从用户读取一个字符串,并按照ASCII代码的顺序放置该字符串,而不使用列表或排序()下面是我的代码

answer = input("enter string: ")
len_ans = len(answer)
new_answer = ""
previous = " "
leftover =""

while True:
    for i in range(len_ans):

        if (ord(previous[0])) >= (ord(answer[i])):
            new_answer += previous
        else:
            leftover += previous
        print(new_answer)

        previous = answer[i]

    new_answer += leftover
    leftover = ""

    answer = new_answer

    if answer == new_answer:
        print(new_answer)
        break
    else: 
        new_answer = ""
Run Code Online (Sandbox Code Playgroud)

python python-3.x

2
推荐指数
1
解决办法
97
查看次数

标签 统计

python ×2

python-3.x ×2