m0_74158882 2022-10-15 18:28 采纳率: 42.9%
浏览 103
已结题

Python 关于条件的撰写

img

img


程序主体已经搞定
如何才能使程序robust enough,在输入小于等于1,及非整数类型的input后能提示输入错误,并提示重新输入直至输入qualified number,并重新运行程序
本人已经被条件、判断、循环语句整不会了
请回答问题的朋友直接写成代码并附上井号解释,感谢

img


修改了一下,无法解决else中怎样让新的N回到主体语句中执行,也无法解决如何能无限次input直至input符合条件

  • 写回答

5条回答 默认 最新

  • 往事随风云渐起 2022-10-15 19:27
    关注
    
    # 问题5(本次作业的20%):编写一个程序,允许用户输入整数N,并打印所有小于N的素数。
    # 例如,当用户输入N=10时,程序应输出小于10的素数包括:程序每行最多应输出8个素数。
    # 您的程序还应该足够健壮,能够处理可能的不正确输入(例如,userInputs字符串
    n = input("Please input an integer larger than 1:")
    for i in n:
        if i < '0' or i > '9' or n <= '1':#小于1 或者字符串里面有非数字
            n = input("The num is null,Please input an integer larger than 1")#重复输入
    print(f"The prime numbers smaller than {n} include:")#输出提示
    num1 = int(n)#转成整数
    lit = []
    if num1 == 2:
        lit.append(num1)
    else:
        for i in range(2, num1):
            k = 0
            for j in range(1, i+1):#判断是否为素数
                if i % j == 0:
                    k += 1
            if k == 2:
                lit.append(i)
    a = 1
    for x in lit:
        if a % 8 != 0:#单行输出8个数字
            print(x,end="\t")
            a += 1
        else:
            print(x)
            a = 1
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 10月25日
  • 已采纳回答 10月17日
  • 修改了问题 10月15日
  • 修改了问题 10月15日
  • 展开全部