为什么我们在循环之前分配变量“option”1的值?

时间:2013-01-14 15:44:29

标签: python

我是编程新手,我选择python作为我的第一语言因为它很容易。但我对此代码感到困惑:

option = 1 
while option != 0:
    print "/n/n/n************MENU************" #Make a menu
    print "1. Add numbers"
    print "2. Find perimeter and area of a rectangle"
    print "0. Forget it!"
    print "*" * 28

    option = input("Please make a selection: ") #Prompt user for a selection      
    if option == 1: #If option is 1, get input and calculate 
        firstnumber = input("Enter 1st number: ")
        secondnumber = input("Enter 2nd number: ") 
        add = firstnumber + secondnumber
        print firstnumber, "added to", secondnumber, "equals", add #show results  

    elif option == 2: #If option is 2, get input and calculate
        length = input("Enter length: ")
        width = input("Enter width: ")
        perimeter = length * 2 + width * 2
        area = length * width
        print "The perimeter of your rectangle is", perimeter #show results       
        print "The area of your rectangle is", area

    else: #if the input is anything else its not valid
        print "That is not a valid option!"

好的,我把所有东西都放在Option变量之下。我只想知道为什么我们分配了Option=1的值,为什么我们将它添加到程序的顶部,以及它的功能是什么。我们也可以改变它的价值。请让我用简单的语言理解它,因为我是编程新手。

3 个答案:

答案 0 :(得分:4)

如果您没有在程序开头创建变量option,那么

 while option != 0:

会中断,因为还不存在option变量。

至于如何更改其值,请注意每次更改行时都会更改:

option = input("Please make a selection: ")

发生 - 它将其值重新分配给用户的输入。

答案 1 :(得分:2)

因此,它下面的while语句不会尝试检查不存在的名称。它没有 被分配1,它恰好是第一个非零自然数。

答案 2 :(得分:0)

Python要求在使用变量之前声明变量。

在这种情况下,正在决定option是设置为1还是2(因此我们将其设置为其中一个值,通常我们可以轻松设置它为0或空字符串)。虽然有些语言对变量声明不太严格(PHP会想到),但大多数语言在使用前都需要存在变量。

Python不要求显式声明变量,只要给它们一个值来保留内存空间。另一方面,VB.NET默认需要显式声明变量......

Dim var as D

设置变量type,但不给它初始值。

请参阅the Python docs