当前位置: 首页 > 知识库问答 >
问题:

连续数字递增,直到用户输入=='特定输入'Python[重复]

慕容俭
2023-03-14

首先要说的是,我对stackoverflow中的“提问”还不熟悉,所以如果我的问题不属于正确的类别,或者已经有人问过类似的问题,我表示歉意。我试图找到一个相关的问题,但我找不到。我的有点特别,这将作为我将来编程的一个例子。

我尝试创建的简单程序的流程是:

>

  • 起始编号为的,例如0

    1. 该数字递增1,直到该数字增加到100个数字,此时...
    2. 程序询问"Y/N"是否是,然后重复步骤1和2(每次重复这个过程,这个数字应该自己再增加100。例如,第二次重复将从100开始,而不是从0开始)如果没有步骤3
    3. 程序打印达到的最大数字

    这是我的代码:

    def creeper (number, growth):
        while number <= growth:
            print (number)
            number += 1
        return (number)
    
    diff = 100 #represents the limit of each incrementation 
    print('lets start')
    old_num = creeper(0, diff)
    while True:
        inp = str(input('Yy/Nn: '))
        print(inp)
        if inp == 'Y' or 'y':
            new_num = creeper(old_num, diff)
            old_num = new_num
        else:
            print(new_num)
            break
    input("Did we get to here? Press enter to exit then: ") 
    

    我特别想问一下这一部分:

    if inp == 'Y' or 'y':
        new_num = creeper(old_num, diff)
        old_num = new_num
    else:
        print(new_num)
        break
    

    看起来python正确地读取了输入内容,但它没有回到步骤1。实际上还没到第三步。我不明白这段代码是如何工作的:

    if inp == 'Y' or 'y':
    

    我感谢对我的问题的任何答复。谢谢

  • 共有1个答案

    颜畅
    2023-03-14

    我认为至少有两个问题:

    A.正如许多人在评论中所说,为了正常工作,if语句必须以不同的方式编写,例如:

    if inp == 'y' or inp == 'Y'
    

    或者这样:

    if inp in ('y', 'Y')
    

    检查评论中的链接,例如:这篇文章

    “y”的布尔值始终为True,因此永远不会执行else语句。

    第二个问题在你的else陈述中。您必须对照old_num进行检查,因为new_num可能尚未创建(如果是第一次迭代)。

     类似资料:
    • 问题内容: 当输入零作为输入时,我需要停止询问整数输入,并立即开始求和。当我键入零时,我的程序不会停止。我需要它停止并开始汇总它收集的所有输入。 这是我所拥有的: ///////////////有效的最终代码。谢谢!公共类Inttosum { 问题答案: 您正在使用一种称为循环条件的东西,但是在循环中更新了变量。您可以使用循环。更改 像 使用 我也建议先打电话再打电话。而且,由于您不使用(只是),

    • 问题内容: 我正在尝试编写一个数字猜测程序,如下所示: 我现在想做的是让if / elif / else命令序列循环执行,直到用户输入“正确”为止,即程序声明的数字大约等于用户数,但是如果我不知道用户数量,我无法想到如何实现和if语句,并且尝试使用“ while”也无效。 问题答案: 作为@Mark Byers方法的替代方法,可以使用:

    • 问题内容: 对于Java练习,我试图创建一个程序,该程序从键盘读取整数,直到输入负数为止。 并打印整数的最大值和最小值,而忽略负数。 一旦运行,是否可以在同一程序中进行连续输入?我必须每次都继续运行该程序以输入数字。 任何帮助,将不胜感激 这是我的代码的一部分-它可以工作,但是我认为有一种更简单的方法可以执行我想要的操作,但不确定如何操作! 问题答案:

    • 问题内容: 我正在编写一个提示输入的函数,然后根据输入返回不同的结果,然后再次要求输入。我已经得到它返回正确的值,但是我不确定如何使它再次提示输入。 这是该函数的实际代码: 在其中包含return的每一行中,它只是在调用先前定义的函数。的和是词典,前面所定义。 我只能使用内置函数。 问题答案: 我会用while循环来做。像这样:

    • 问题内容: 我正在尝试找出如何创建输入验证的方法,在该方法中,您不能两次输入相同的数字,而且不能在数字范围内输入,除非它是整数,否则无法输入任何内容。我目前正在创建彩票程序,不确定如何执行此操作。任何帮助将非常感激。我的数字范围验证有效,而其他两个验证无效。我尝试了非重复号码验证,但我不确定如何执行仅数字验证。有人可以告诉我如何构建此结构。 此方法在我的Player类中 问题答案: 如下进行: 运

    • 我有Connect()方法,它有一个字符串参数,这个参数是用户的输入。我创建了2个数据库:test和test2,但我只能从用户输入连接到test db。我是否应该对承载2个dbs的服务器进行更改,以便能够连接到用户编写的任何数据库??? 主要方法 堆栈跟踪: