第五章 if语句

编程时经常需要检查一系列条件,并据此决定采取什么措施。在Python中,if语句让我们能够检查程序的当前状态,并据此采取相应的措施。

5.1  一个简单的示例

下面是一个简短的示例,演示了如何使用if语句来正确地处理特殊情形。假设我们有一个汽车列表,并想将其中每辆汽车的名称打印出来。对于大多数汽车,都应以首字母大写的方式打印其名称,但对于汽车名为“bmw",应以全大写的方式打印。下面的代码遍历一个列表,并以首字母大写的方式打印其中的汽车名,但对于汽车名为“bmw”,以全大写的方式打印:

cars = [‘audi‘,‘bmw‘,‘subaru‘,‘toyota‘]

for car in cars:    if car == "bmw":        print(car.upper())    else:        print(car.title())    这个示例中的循环首先检查当前的汽车名是否是“bmw".如果是,就以全大写的方式打印它;否则就以首字母大写的方式打印:AudiBMWSubaruToyota    这个示例涵盖了本章将介绍的很多概念。下面先来介绍可用来在程序中检查条件的测试。

5.2  条件测试    每条if语句的核心都是一个值True或False的表达式,这种表达式被称为条件测试。Python根据条件测试的值为TrueFalse来决定执行是否执行if语句中的代码。如果条件测试的值为True,Python就执行紧跟在if语句后面的代码;如果为False,Python就忽略这些代码。

5.2.1  检查是否相等    大多数条件测试都将一个变量的当前值同特定值进行比较。最简单的条件测试检查变量的值是否与特定值相等:>>> a = "bmw">>> a == "bmw"True    我们首先使用一个等号将car的值设置为"bmw",这种做法我们已经看过很多次。接下来,使用两个等号(==)检查car的值是否为"bmw".这个相等运算符在它两边的值相等时返回True,否则返回False。在这个示例中,两边的值相等,因此Python返回True。    如果变量car的值不是‘bmw‘,上述测试将返回False:>>> a = ‘bmw‘>>> a == ‘audi‘False    一个等号是陈述;对于一个等号处的代码,可解读为”将变量car的值设置为‘audi‘.两个等号是发问;对于两个等号处的代码,可解读为"变量car的值是"bmw"吗?".大多数编程语言使用等号的方式都与这里演示的相同。    总结:在Python中,if语句判断的时候,返回的是True或False,如果条件满足的话就返回True;否则不满足,则返回False;并且,两个等号(==)是发问,问Python是否相等,如果相等怎样,不等怎样。

5.2.2  检查是否相等时不考虑大小写    在Python中检查是否相等时区分大小写,例如,两个大小写不同的值会被视为不相等:>>> car = ‘Audi‘>>> car == ‘audi‘False    如果大小写很重要,这种行为有其优点。但如果大小写无关紧要,而只想检查变量的值,可将变量的值转换为小写,再进行比较:>>> car = "Audi">>> car.lower() == ‘audi‘True    无论值‘Audi‘的大小写如何,上述测试都将返回True,因为该测试不区分大小写。函数lower不会修改存储在变量car中的值,因此进行这样的比较时不会影响原来的变量:(1)>>> car = "Audi"(2)>>> car.lower() == "audi"       True(3)>>> car    ‘Audi‘    在(1)处,我们将首字母大写的字符串"Audi"存储在变量car中;在(2)处,我们获取变量car的值并将其转换为小写,在将结果与字符串‘audi‘进行比较。这两个字符串相同,因此Python返回True。从(3)处的输出可知,这个条件测试并没有影响存储在变量car中的值。
#register = input("Please input your username: ")register_names = []user_names = ["zengmingzhu","zhagnqq","jiangxb","gzd","loujq","liuxs","cdq"]while True:    register = input("Please input your username: ")    for user_name in user_names:        register_names.append(user_name.title())    if register.title() in register_names:        print("Sorry, the name you entered is registered! Please enter again")    else:        print("Successful!")        user_names.append(register)        break




时间: 2024-10-16 11:46:48

第五章 if语句的相关文章

C++ Primer【第五版】习题参考答案——第五章(语句)

#include <iostream> #include <vector> #include <string> using namespace std; /******************************************************************* Ex_5_1: 空语句就是只含有一个分号的语句. 如果在程序的某个地方,语法上要求有一条语句,但是逻辑上不需要, 这时就需要一条空语句. Ex_5_2: 块就是由花括号包围的复合语句

第五章 条件语句

一.if 没啥说的,条件可以是任意表达式,表达式的值不一定是布尔值,javaScript会自动调用Boolean()进行转换. 二.do{}while().while(){}.for(){} 也没啥说的,只不过因为javaScript没有快级作用域,所以{}里定义的变量{}外边也可以访问到. 三.for-in语句,枚举对象的属性,但是结果的顺序是不可测的. for (property in expression) statement for in语句会把expression的属性名字挨个赋值给p

《Python编程从入门到实践》_第五章_if语句

条件测试 每条if语句的核心都是一个值为Ture或False的表达式,这种表达式被称为为条件测试.Python根据条件测试的值为Ture还是False来决定是否执行if语句中的代码.如果条件测试的值为Ture,Python就执行紧跟在if语句后面的代码:如果为False,Python就忽略这些代码. 字符串比较 字符串检查时是区分大小写的 检查是否相等 >>> car = "bmw" >>> car == "bmw" True &

第五章:语句

1.if_else语句:else会与离它最近的尚未匹配的if匹配,所以当只使用一半的if时,最好用{}包起来 2.switch语句:不要省略break:还有最后default: 3.for语句:for语句头中定义的对象,只有在for循环体中可见 for(int i = 0; i < n; i++) //这里面的i只有在循环体中使用,离开后就无效了 { ... } 4.范围for for(declaration : expression) //expression必须是一个序列,如花括号的初始值列

《C++primer(第五版)》学习之路-第五章:语句

[ 声明:版权所有,转载请标明出处,请勿用于商业用途.  联系信箱:[email protected]] 5.1 简单语句 1.绝大多数语句以分号结束.空语句只有一个单独的分号. 2.复合语句是指用花括号括起来的语句和声明的序列,复合语句也被称作块. 一个块就是一个作用域,在块中引入的名字只能在块内部以及嵌套在块中的子块里访问. 5.2 语句作用域 1.可以在if,switch,for和while语句的控制结构内定义变量.定义在控制结构当中的变量只在相应语句的内部可见,一旦语句结束,变量也就超出

Python:从入门到实践--第五章--if语句--练习

#1.编写一系列条件测试:将每个测试以及结果打印出来 car = '宝马' if car == "宝马": print("预测正确") print(car) else: print("预测错误") boy_age = 23 girl_age = 20 if boy_age <= girl_age: print("预测错误") else: print("预测正确") print("男孩大于女孩

《Python编程:从入门到实践》第五章 if语句 习题答案

#5.1 major = 'Software Engineering' print("Is major =='Software Engineering'? I predict True.") print(major=='Software Engineering') print("Is major =='Software Engineering'? I predict False.") print(major=='Computer Science') #5.2 pri

c++ primer 5th 笔记:第五章

第五章:语句 笔记 1. 复合语句是指用花括号括起来语句和声明的序列,复合语句也被称作块(block).一个块就是一个作用域. 2. 定义在控制结构(if.switch.while.for)中的变量只在相应的语句内部可见,一旦语句结束,变量也就超出其作用范围了. 3. 对于悬垂else问题,c++规定,else与离它最近的尚未匹配的if匹配,从而消除了程序的二义性. 4. switch语句中,case标签必须是整型常量表达式,且任何两个case标签的值不能相同. 5. c++语言规定,不允许跨过

Python基础教程(第五章 条件、循环和其他语句)

本文内容全部出自<Python基础教程>第二版,在此分享自己的学习之路. ______欢迎转载:http://www.cnblogs.com/Marlowes/p/5329066.html______ Created on Xu Hoo 读者学到这里估计都有点不耐烦了.好吧,这些数据结构什么的看起来都挺好,但还是没法用它们做什么事,对吧? 下面开始,进度会慢慢加快.前面已经介绍过了几种基本语句(print语句.import语句.赋值语句).在深入介绍条件语句和循环语句之前,我们先来看看这几种基