让程序继续运行直到超过某个值

时间:2018-09-27 23:27:33

标签: python python-3.x

此作业有点麻烦: **使用while语句编写程序,该语句可让用户输入一系列数字。每个数字应乘以10,并将结果存储在名为product的变量中。只要产品的值小于10,000,循环就应该迭代。

这是我到目前为止的内容:

def multiplication():
    tracker = 9999
    userInput = int(input("Enter a value to be multiplied by 10: "))
    product = (userInput * 10)
    print (product)
    while product <= tracker:

我不太确定在while语句之后要做什么,如果产品比跟踪器低,它将使程序循环备份。

4 个答案:

答案 0 :(得分:1)

我将通过解释您的代码与其代码之间的差异来扩展其他人发布的代码。还有一些编程约定,如果您不记得明天会来的话,那很好。

def multiplication():
    tracker = 9999
    userInput = int(input("Enter a value to be multiplied by 10: "))
    product = (userInput * 10)
    print (product)
    while product <= tracker:

首先,不需要变量来保存值,如果需要的话可以。由于它是一个常量,是一个不会改变的值,因此约定将变量的名称全部用大写字母表示。

如果您想知道为什么每个人都使用10000而不是9999,如代码的下一行所示:

while product <= tracker:

当您使用比较运算符时,在您的行中您正在寻找小于或等于跟踪器的产品。在这种情况下,循环将继续检查,直到评估结果为假。产品等于9999吗?是的,它将再次检查。如果您要求:

while product < 10000

基本上是相同的,但是由于您没有更改问题要求,因此更易于理解。

现在,您对代码有了正确的想法。 您所要做的就是将带有while循环的行移到userInput上方。

def multiplication():
    TRACKER = 10000
    while product < TRACKER:
        userInput = int(input("Enter a value to be multiplied by 10: "))
        product = (userInput * 10)
        print (product)

之所以这样做,是因为我们需要一种不断询问userInput和计算乘积的方法。通过将语句放置在while循环内可以完成此操作。当条件不再为True时,while循环又将从循环中退出。

然后我们需要初始化变量product,否则python会崩溃。因此,我们将变量声明放置在while循环之前,因为如果将其放置在while循环中,它将被重新声明。

最后,问题陈述要求用户每次输入数字时都输入乘积。无论如何,这就是我的理解,这可能是错误的。为此,我们需要继续添加输入到变量中的值,方法是获取旧值加上新值。我将为您显示速记。

def multiplication():
    TRACKER = 10000
    product = 0
    while product < TRACKER:
        userInput = int(input("Enter a value to be multiplied by 10: "))
        product += (userInput * 10)
        print (product)

在编写任何代码之前,有帮助的是用手写笔在纸上和纸上手写出来。并大声执行每一行。您也可以在编写代码本身之前在函数内部写出注释。用简单的英文写上它应该做什么的评论。一旦确定了逻辑,就可以用代码替换注释。

答案 1 :(得分:0)

您应将积的值分配给0,并将while循环移到 userInput 语句上方:

def multiplication():
    tracker = 10000
    product = 0
    while product < tracker:
        userInput = int(input("Enter a value to be multiplied by 10: "))
        product = userInput * 10
        print(product)

如果要创建 递归 函数,可以将调用返回到multiplication()。像这样:

def multiplication():
    tracker = 10000
    userInput = int(input("Enter a value to be multiplied by 10: "))
    product = userInput * 10
    print(product)
    while product < tracker:
        return multiplication()

# also, after you have **defined** your function, 
# don't forget to call it in your program outside of the definition
multiplication()

答案 2 :(得分:0)

尝试以下类似方法。 while循环将开始,因为乘积小于跟踪器,并将继续,直到乘积大于跟踪器为止。

def multiplication():
    tracker = 9999 
    product = 0
    while product <= tracker:
        userInput = int(input("Enter a value to be multiplied by 10: ")) 
        product = (userInput * 10) 
        print (product)

答案 3 :(得分:0)

我们可以在函数参数中定义product = 0以开始。然后,我们可以在一条语句中multiply the user input by 10并将其分配给product,将其放在while循环中,这将提示用户在product < 10000时进行输入。一旦超出条件,我们可以return那个值。

def something(product = 0):
    while product < 10000:
        product = int(input('Enter a number: ')) * 10
    return product

print(something())