逻辑运算和字符串索引

逻辑运算符

and

单词and是“并且”的意思。
需要同时满足多个条件时,可以使用逻辑运算符and连接。

条件1 and 条件2

所有条件都成立,整个条件才成立;
有一个条件不成立,整个条件就不成立。


a = 12
b = 5
if a == 12 and b == 5:
    print('xiaowangzi')

“and”左右两边条件都成立,执行if语句下级代码,打印出xiaowangzi

a = 12
b = 5
if a < b and b == 5:
      print(‘xiaowangzi’)

“and”左右两边只有一个条件成立,不执行if语句下级代码,无输出。

or

单词or是“或者”的意思。
多个条件仅需要满足其中一个条件时,可以使用逻辑运算符or连接多个条件。

任意一个条件成立,整个条件成立;
所有条件不成立,整个条件不成立。


a = 12
b = 5
if a > b and b == 5:
    print('xiaowangzi')

or左右两边条件都成立,执行if语句下级代码,打印出xiaowangzi

a = 12
b = 5
if a < b and b == 5:
      print(‘xiaowangzi’)

or左右两边只有一个条件成立,执行if语句下级代码,打印出xiaowangzi

a = 12
b = 5
if a < b and b == 12:
     print(‘xiaowangzi’)

or左右两边条件都不成立,整个条件不成立,不执行下级代码,无输出。

字符索引

字符串中的每个字符都有一个编号,在python中,这些字符的 编号叫做索引。
使用索引可以得到字符串中的某一个字符。

字符串名称[索引]

字符串索引
字符串索引是从0开始的。
字符串中的最大的索引,总是比字符的个数少人。

字符串切片

当我们想要取得字符串中某一段字符的时候,就需要使用字符串切片。

保留某索引后面的字符

冒号前面填写索引,表示切割的起始位置,会保留大于等于该索引的字符。

变量名[索引:]


k = 'basketball'
print(n[6:])

从第6个字符索引开始,最后打印出ball

保留某索引前面的字符

冒号后面填写索引,表示切割的结束位置,会保留小于该索引的字符。

变量名[:索引]


k = 'basketball'
print(n[:6])

从字符索引0开始,第6个字符索引前结束(不包含第6个字符索引),最后打印出basket

保留两个索引之间的字符

冒号前后分别填入起始索引和结束索引,起始索引对应的字符会被保留下来;而结束索引对应的字符,不会被保留下来。

变量名[起始索引:结束索引]


n = 'xiaowangzi'
print(n[4:8])

最后打印出wang

len()命令

使用len()命令,可以获取字符串的长度。len是英文单词length的缩写,表示长度。

len(‘字符串’)
len(存储着字符串的变量)

在len()命令括号中需要填入一个字符串,或者存储着字符串的变量。 len()命令会返回一个数字,这个数字就表示字符串的长度。


k = len('xiaowangzi')
print(k)

打印输出10。


k = 'xiaowangzi'
h = len(k)
print(h)

打印输出10。

continue语句

int()命令

使用int()命令,可以把被引号引起来的数字或者存储着字符串的变量,转换为数字类型。

int(‘数字’)
int(变量)


while True:
    print('forward')
    a = input()
    a = int(a)
    if a == 5:
        break

input()命令得到的都是字符串,使用int()命令转换为数字后,才能进行计算。

continue语句

程序执行continue语句时,程序会结束当前循环,不会再进行执行continue下面的下级代码,而是直接进入下一次循环。


while True:
    print('forward')
    a = input()
    n = int(a)
    if n == 4:
        break
    if n == 2:
        continue
    print('fix')

if嵌套

if嵌套

把一个if语句写在了另一个if语句的下级代码里面,这样的代码 结构叫做if嵌套。

if 判断条件:
if 判断条件:
下级代码

程序运行后,只有在第一个if语句的条件成立时,才会执行下级代码中的if语句。


color = 'red'
name = 'xiaowangzi'
if color == 'red':
    if name == 'xiaowangzi':
        print(1)
    print(2)

print(2)是第一个if语句的下级代码,不受第二个if语句的控制; 如果第一个if语句条件成立,那么print(2)就一定会执行。


color = 'red'
name = 'xiaowangzi'
if color == 'red':
    if name == 'xiaowangzi':
        print(1)

在这段代码中,需要同时满足两个条件,程序就会打印1。


color = 'red'
name = 'xiaowangzi'
if color == 'red' and name == 'xiaowangzi':
    print(1)

使用逻辑运算符and,也可以实现if嵌套的功能,从而简化代码。
and左右两边条件均成立时,if语句条件成立,执行下级代码,打印1。

if-else嵌套

if 条件1:
if 条件2:
下级代码
else:
下级代码
else:
下级代码


a = '123'
b = 'abc'
if a  == '123':
    if b  == 'abc'
        print(1)
    else:
        print(2)
else:
    print(3)

for循环嵌套

for 循环嵌套

把一个for循环写在了另一个for循环的下级代码处,这样的代 码结构叫做for循环嵌套。

for i in range(循环次数):
for j in range(循环次数):
下级代码

在外层的for循环,叫做外层循环或者外循环。 在内层的for循环,叫做内层循环或者内循环。


for i in range(3):
    print('d')
    for i in range(4):
        print('edge')
        print(120)

识别循环嵌套


print('我是小王子')
for i in range(3):
    print('王子')
    for j in range(2):
        print('你好')
print('再见')

1.内循环的下级代码前,有两个缩进。
2.内循环是外循环的一部分,内循环中的所有代码也都是外循环的下级代码。
3.因为前没有缩进,所以不是任何循环结构的下级代码。

for循环嵌套的执行顺序


print('我是小王子')
for i in range(2):
    print('王子')
    for j in range(3):
        print('你好')
print('再见')

程序按照从上到下的顺序开始执行,首先打印我是小王子。 之后程序会进入到外循环中:
进入循环后,先打印出王子,然后,进入第2个for循环结构,
打印出了3次你好,这时,第一次外循环全部结束,程序会开始第二次外循环。 直至外循环全部执行完毕后,打印再见

内、外循环的执行次数


print('我是小王子')
for i in range(2):
    print('王子')
    for j in range(3):
        print('你好')
print('再见')

在执行for循环嵌套的时候,外循环被执行1次,内循环就会被完整地执行一遍。
由于外循环次数为2,所以外循环的下级代码,会被重复执行2次。
上面代码最终输出结果是:我是小王子/王子你好你好你好/王子你好你好你好/再见
1.外层循环执行1次,内层循环会全部执行1遍。
2.如果外层循环执行M次,内层循环执行N次,那么内循环 的下级代码一共会执行M*N次。

逻辑运算和字符串索引

cfanlost, 阿和等人对本文发表了2条热情洋溢的评论。
  1. cfanlost说道: 3 Chrome Windows 10

    or 或 and 且

  2. 阿和说道: 5 QQ浏览器 Windows 7

    小王子学习真用功 ::wb:zan::

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注