if 语句是用来检查一个条件:如果条件为真(true),我们运行一个语句块(你为if块),否则(else),我们执行另一个语句块(称为else块)。else子语句是可选的。
例如(保存为 if.py):
number = 23 guess = int(input(‘请输入一个整数:’)) #等待输入整数 if guess == number: print('恭喜,你猜对了。') # 新块从这里开始 print('(但你没有获得任何奖品!)') # 新块在这里结束 elif guess < number: print('不对,你猜的有点儿小') # 另一个块 else: print('不对,你猜的有点大') print('完成') # if语句执行完后,最后的语句总是被执行
输出可能有以下三种情况:
请输入一个整数:50
不对,你猜的有点儿大
完成
请输入一个整数:22
不对,你猜的有点儿小
完成
请输入一个整数:23
恭喜,你猜对了。
(但你没有获得任何奖品!)
完成
在这个程序中,我们获取来自用户的猜测,并检查这个数是否是我们设定的数。我们给变量number设置我们想要的任何整数,比如 23。然后,我们使用input() 函数获取用户的猜的数。函数是可重用的程序块。我们在本章后面几节中会介绍关于它们的更多东西。
我们给内置的input 函数提供一个字符串,该函数将其打印到屏幕上并等待用户输入。一旦我们输入一些东西并按下enter键,input()函数把我们的输入作为一个字符串返回。然后,我们使用int将这个字符串转换为整数,然后将其存储在变量guess中。实际上,int 是一个类,但现在所有你需要知道的是,您可以使用它来将一个字符串转变为一个整数(假设文本中的字符串包含一个有效的整数)。
接下来,我们比较用户猜的数和我们选择的数,如果他们相等,我们打印一条成功的消息。注意,我们使用缩进级别告诉Python语句属于哪个块。这就是为什么缩进P在ython中是如此重要。我希望你坚持”一致的缩进”的规则,好吗?
注意,if语句在最后有一个冒号——我们指示Python一个语句块将跟随其后。
然后,我们检查猜的数是否小于这个数字,如果是,我们通知用户,他们猜的数必须比那个数稍高。我们这里使用的是“elif”子句,实际上将两个相关的 if else-if else语句组合为一个语句if-elif-else,这使程序更简单且减少所需要的缩进。
elif和else语句也必须在逻辑行结束时有一个冒号,后跟相应的语句块(当然要通过适当的缩进)。
你可以在if语句的if块中有另一个if语句——这称为if语句嵌套。
记住,elif 和else部分是可选的。一个最小的有效的if语句是: python if True: print(是的,它为真)
在Python执行完成完整的if语句以及相关的elif和else子句,它移动到if包含语句的块中下一个语句块。在本例中,它是主要的块(程序开始执行的地方),接下来的语句是 print(完成)。在这之后,Python将看到程序的结尾,并简单的完成。
尽管这是一个非常简单的程序,但你应该注意,我已经指出很多东西。所有这些都是相当的直截了当(对那些有c/c++背景的人是惊人的简单)。最初,你需要意识到所有这些事情,但经过一些练习,对它们你将感到舒服,自然将是你所有的感觉。
C/C++程序员需要注意:在Python中没有switch语句。您可以使用一个if..elif..else语句做同样的事(和在某些情况下,使用词典去做更快速)。