学习Python的第六天

序列

  • 是Python中的一种基本的数据结构
  • 数据结构指计算机中数据的存储方式
  • 序列的分类
    可变序列(序列中的元素可以改变),如列表
    不可变序列,如字符串

循环嵌套

  • while 循环
while 条件表达式:
	循环体

当条件表达式的返回值为真时,则执行循环体中的语句,执行完毕后,重新判断条件表达式的返回值,直到表达式返回的结果为假时,退出循环。

  • break 语句(终止当前的循环)
while 条件表达式1:
	执行代码
	if 条件表达式2:
		break

其中,条件表达式2用于判断何时调用 break 语句跳出循环。

  • continue 语句
    continue 语句的作用没有 break 语句强大,它只能中止本此循环而提前进入下一次循环中
while 条件表达式1:
	执行代码
	if 条件表达式2:
		continue

其中,条件表达式2用于判断何时调用 continue 语句跳出循环。

一个非常重要的例子,真的非常重要

  • 关于打印一个九九乘法表
# while 循环打印九九乘法表
i = 1
while i <= 9:
    j = 1
    while j < i + 1:
        print(f'{j}*{i}={j*i}','t',end='')
        j += 1
    print()
    i += 1


# for 循环打印九九乘法表
for i in range(1,10):
    for j in range(1,i+1):
        print(f'{j}*{i}={i*j}','t',end='')
    print()

  • 内在逻辑
    首先,我们需要一个能够打印出一个九九乘法表的模型出来,方便我们明白原理
    学习Python的第六天如上图代码和运行结果所示:第一个 while 循环控制整个图形的高度,而 第二个 while循环(嵌套)控制的是整个图形的宽度,下面这一段代码一个一个尝试,便能明白其中原理
# 打印一个长方形
i = 0
while i < 5:
    j =0
    while j < 5:
        print('*',end=" ")
        j += 1
    print()
    i += 1


# 打印一个等腰直角三角形
i = 0
while i < 5:
    j = 0
    while j < i+1:
        print('*',end=' ')
        j += 1
    print()
    i += 1

# 打印倒立三角形
i = 0
while i < 5:
    j = 0
    while j < 5-i:
        print("*",end=" ")
        j += 1
    print()
    i += 1

这其中主要明白的原理是:1-外层的循环控制高度;内层的循环控制宽度 2-两个嵌套的运行顺序和运行过程

列表

列表属于可变序列,用 [] 表示

a = []
print(type(a))
# <class 'list'>
  • 索引
    序列中的每个元素都有一个编号,也称为索引(Indexing),这个索引是从 0 开始递增的,即下标为 0 表示第一个元素,下标为 1 表示第二个元素,依次类推

    Python比较神奇,它的索引可以是负数。这个索引从右向左计数,也就是从最后的一个元素开始计数,即最后一个元素的索引值是 -1 ,倒数第二个元素的索引值为 -2 ,以此类推。

  • 切片
    切片操作是访问序列元素中的另一种方法,它可以访问一定范围内的元素。通过切片操作可以生成一个新的序列。实现切片操作的语法格式如下:

sname[start:end:step]

需要注意的是切片操作取元素是 左闭右开

a = ['肥龙','日古','建建','亮亮','狮子狗','浩浩','凯凯']

# 不给 start ,默认从0开始取(不给 step ,默认为 1 )
b = a[:5]
print(b)
# ['肥龙', '日古', '建建', '亮亮', '狮子狗']


# 不给 end ,默认取到最后一个元素
c = a[0:]
print(c)
# ['肥龙', '日古', '建建', '亮亮', '狮子狗', '浩浩', '凯凯']


# step 为步长,隔几个取元素
d = a[::2]
print(d)
# ['肥龙', '建建', '狮子狗', '凯凯']


# 步长为 -1 ,倒着取元素
e = a[::-1]
print(e)
# ['凯凯', '浩浩', '狮子狗', '亮亮', '建建', '日古', '肥龙']
匿名

发表评论

匿名网友