【问题标题】:How to ask for input again after taking input and receiving output in python如何在python中接受输入并接收输出后再次请求输入
【发布时间】:2020-03-08 06:01:40
【问题描述】:
x = int(input())  
for i in range(2,x):    
     if(x % i ==0):      
        print("not Prime")  
        break  
else :  
    print("Prime")  

在本例中,我要求用户输入 x 的值。所以假设用户输入 6,因为它不是质数,它会说“不是质数”。但是,我想要求用户输入另一个值来检查。

x = int(input())  

for i in range(2,x):  
    if(x % i ==0):      
        print("not Prime")  
        break  
else :  
    print("Prime")  

x = int(input()) 

这样做是行不通的。那么我该怎么做才能让用户输入另一个值呢?无需再次运行?

【问题讨论】:

    标签: python-3.x


    【解决方案1】:

    在您的第二个代码 sn-p 中,您在第二个输入之后没有做任何事情。也许您忘记再次调用forloop?这对我来说可以做你描述的事情。 以下内容对您有用吗?当然,为此使用函数更优雅。

    x = int(input())  
    
    for i in range(2,x):  
        if(x % i ==0):      
            print("not Prime")  
            break  
    else :  
        print("Prime")  
    
    x = int(input())
    
    for i in range(2,x):
        if(x % i ==0):
            print("not Prime")
            break
    else :  
        print("Prime")
    

    这是它在我的 pycharm 中的运行方式

    【讨论】:

    • 第二个 sn-p 只是一次失败的尝试。我是说它不起作用。第一次尝试有效,但问题是如果我想用户再次输入,他必须再次运行程序。我希望他在输出后立即输入,而不必再次运行程序
    • 挂个 pycharm 的截图,这可能会向你解释我的问题
    • 有人帮我解决了。我需要把它放在一个函数中。能够要求第二次输入。非常感谢你试图帮助我。对不起,我解释得不好。我还在学习python,所以我很难正确解释它。对不起!
    • 别担心!祝您在未来的编码工作中好运!
    • 啊,我知道你在那里做了什么。你又做了一个 for 循环。这很聪明
    【解决方案2】:

    这正是函数的用途。将您的逻辑包装在一个函数中,并在您需要的任何地方调用它:

    def check_prime(x):
        for i in range(2,x):  
            if(x % i ==0):      
                print("not Prime")  
                break  
        else :  
            print("Prime")  
    
    x = int(input())
    check_prime(x)  # first number
    x = int(input())
    check_prime(x)  # another number
    

    注意如果要输入一些n 数字,使用无限循环读取input() 可以避免重复。

    【讨论】:

    • 天哪!这正是我所需要的。非常感谢。我还没有学习函数,所以我很挣扎。谢谢。
    猜你喜欢
    • 2015-04-07
    • 2013-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-19
    • 1970-01-01
    • 2021-01-14
    • 2021-08-21
    相关资源
    最近更新 更多