pythonwhile列表_Python基础——while、字符串、列表及操作

Python基础——day3

一. While循环

while和if的用法基本类似,区别在于,if条件成立,则执行一次;while条件成立则重复执行,直到条件不成立。

一般情况下需要重复执行的代码都可以用循环方式实现

1.while循环的格式:

while条件:

条件满足时,执行事件1

条件满足时,执行事件2

条件满足时,执行事件3

代码演示:

# while循环格式演示

a = 1

while a <= 5:

print(a)

print("这是第%d次打印" % a)

a += 1

cbe5e3042831?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

2.while循环的应用

(1) 计算1-100的累计和

代码演示:

#需求:计算1-100的累计和

num = 1

num_sum = 0

while num <= 100:

num_sum = num_sum +num

num += 1

print(num_sum)

cbe5e3042831?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

(2) 计算1-100的偶数和

代码演示:

#需求:计算1-100的偶数和

#分析:偶数,即整数除以2,得到的结果没有余数,即余数为0

num = 1

num_sum = 0

while num <= 100:

if num % 2 == 0:

num_sum = num_sum + num

num += 1

print(num_sum)

cbe5e3042831?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

3.while循环嵌套

类似于if嵌套,while嵌套就是while循环里还有while循环

While循环嵌套格式:

while条件1:

条件1满足时,执行事件1

条件1满足时,执行事件2

条件1满足时,执行事件3

...

while条件2:

条件2满足时,执行事件1

条件2满足时,执行事件2

条件2满足时,执行事件3

...

(1) while循环嵌套应用

打印如下格式图形:

*

**

***

****

代码演示:

需求:打印如下格式图形

*

**

***

****

a = 1

while a <= 4:

b =1

while b <= a:

print("*", end="") #因为print()打印时,有自动换行的特性,因此使用end=""来结束其换行

b += 1

a += 1

print()

cbe5e3042831?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

(2) while循环制作九九乘法表

代码演示:

#需求,用while循环打印就就乘法表

a = 1

while a <= 9:

b = 1

while b <= a:

print("%d*%d=%d\t" % (b, a ,a*b),end="")

b += 1

a += 1

print()

cbe5e3042831?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

(3) while循环打印倒九九乘法表

代码演示:

i = 9

while i>=1:

j = 1

while j<=i:

print("%d*%d=%d\t"%(j,i,j*i),end="")

j+=1

print("\n")

i-=1

cbe5e3042831?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

二.break 和 continue

break和continue 是两个只能在循环语句中使用到的关键词,有特殊作用。

在循环中,遇到continue会跳过当前一次循环,跳到下一次循环的条件判断中

在循环中,遇到break会直接终止当前循环,执行其他后续的代码

代码演示:

1.(面试题)使用循环生成1,2,3,4,5,7,9,10数字

# #需求:使用循环生成1,2,3,4,5,7,9,10

my_num = 1

while my_num <= 10:

if my_num == 6 or my_num == 8:

my_num += 1 #注意,使用continue的时候,要注意改变变量,否则构成死循环

continue #循环遇到continue之后,会直接跳到下一次循环的条件判断中

print( my_num )

my_num += 1

cbe5e3042831?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

2.修改上述需求,使用循环生成1-10数字,但是当数字是6时,结束循环

#修改需求:使用循环生成1-10数字,但是当数字是6时,结束循环

my_num = 1

while my_num <= 10:

if my_num == 6:

break #循环中遇到break,会终止循环,执行循环以后的代码

print(my_num)

my_num += 1

cbe5e3042831?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

二. 字符串

1.字符串,就是文本,就是由多个字符组成的数据类型

定义字符串:

Str = “hello,python”

字符串就是用来显示给用户看的数据,不需要进行复杂的数学运算(+,-,*,/),但是允许字符串进行加法运算,表示拼接。

字符串拼接演示演示:

# 字符串拼接

my_str1 = "hello"

my_str2 = "python"

my_str3 = my_str1 + "\t" + my_str2

print(my_str3)

cbe5e3042831?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

字符串也可以和整数进行乘法运算,表示重复字符串多遍

演示:

#字符串和整数相乘

my_str1 = "hello,python \t"

print( my_str1*5 )

cbe5e3042831?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

在python中,字符串一共有四种定义方法:

(1) 使用单引号定义:

(2) 使用双引号定义:

(3) 使用三个单引号定义:

(4) 使用三个双引号定义:

# python中定义字符串的四种方法:

# 1.使用单引号定义

str1 = 'Hello,Python'

print(str1)

# 2.使用双引号定义

str2 = "Hello,World"

print(str2)

# 3.使用三个单引号定义

str3 = '''Hello,China'''

print(str3)

# 4.使用三个双引号定义

str4 = """Hello,Deutchland"""

print(str4)

cbe5e3042831?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

由于三个引号已经被多行注释使用,因此定义字符串时,一般不使用三个引号

2.字符串的相关操作

问题:什么时候使用单引号定义字符串,什么时候使用双引号定义字符串?

回答:如果字符串的内容出现英文的单引号时,使用双引号定义字符串,如果字 符串内容出现英文双引号时,使用单引号定义字符串。

代码演示:

# 如果定义字符串的内容中含有英文单引号,则使用双引号进行定义

my_str1 = "I'm from China"

print(my_str1)

# 如果定义字符串的内容中含有英文双引号,则使用单引号进行定义

my_str2 = 'He said:"I am form England"'

print(my_str2)

cbe5e3042831?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

字符串中,会有一些特殊用途的字符:

占位符:%

转义字符:在字符串左边带着反斜杠的,\n表示换行,\t表示缩进一个tab

演示:

# 占位符

my_str1 = 5

print("小红上街买了%d个苹果" % my_str1)

#转义字符:\t \n

my_str2 = "hello\npython"

print(my_str2)

my_str3 = "hello\tpython"

print(my_str3)

cbe5e3042831?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

\’和 \”,因为引号本身在字符串中表示字符的开始和结束,那么\’和\”表示,只是输出一个文本的引号。

演示:

# \' 和 \"

my_str1 = 'I\'m from China'

print(my_str1)

my_str2 = "He said :\" hello,python\""

print(my_str2)

cbe5e3042831?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

三. 列表

Python中除了支持数字类型(整数,浮点数,布尔值)以外,还有非数字型(字符串、列表、元组、字典)

非数字类型,在开发中也叫“高级变量类型”

1.列表(list):是一个由多个成员构成的数据类型

如果我们希望保存一个班级同学的姓名:

#需求保存一个班级同学的姓名:

al_class_student_name = ["小明", "小黑", "小白", "小红"]

print(al_class_student_name)

print(type(al_class_student_name))

cbe5e3042831?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

列表中的数据,可以是字符串,也可以是数字等其他的数据类型

列表的下标

列表的下标指挥从0开始逐个递增

#列表的下标

my_list = ["a", "b", "c", "d", "e"]

print(my_list[2])

cbe5e3042831?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

列表的下标除了可以使用正数以外,还可以使用负数,

正数下标从0开始,从左往右排列

负数下标从-1开始,从右往左排列

#提取列表中倒数第一个数据

my_list =["a", "b", "c", "d", "e", "f"]

print(my_list[-1])

cbe5e3042831?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

列表中虽然可以放不同数据类型的成员,但是一般在开发过程中,我们通常把同一种数据类型的数据,放在同一个列表中,也就是说列表中的数据,要么都是字符串,要么都是数字,原因主要是,列表往往和循环一起出现,使用循环对列表进行统一的操作。

注意:其实,除了列表有下标以外,其他的非数字类型的数据都会有下表,比如字符串。

四. for循环

1.for循环一般就是用来完成提取列表和字符串、元组的所有成员

for类似while,也是一种循环

演示:

class_student_list = ["小白", "小黑", "小灰", "小红", "小蓝"]

# 需求:希望把所有学生姓名全部输出出来

# 如果不使用循环来输出则如下:

print(class_student_list[0])

print(class_student_list[1])

print(class_student_list[2])

print(class_student_list[3])

print(class_student_list[4])

print()

#先使用while来完成:

a = 1

while a <= 4:

print(class_student_list[a])

a += 1

print()

#使用for循环实现:

for name in class_student_list:

print(name)

cbe5e3042831?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

遍历:从第一个到最后一个,每一个都进行操作、查看。

循环:就是重复执行

2.for循环生成数字

需求:生成1-10之间的整数

代码演示:

# 需求:生成1-10之间的整数

# 先使用while循环实现:

a = 1

while a <= 10:

print(a, end="") #使用end="",让print()打印不换行

a += 1

print()

# 使用for循环实现:

# range(开始位置,结束位置) 可以生成指定范围的整数[不包含结束位置]

for i in range(1,11):

print(i, end="")

cbe5e3042831?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

for语句也可以有else语句

演示:

# for循环中的else用法:

my_list1 = ["小明", "小黑", "小白", "小红", "小蓝", "小灰", "小小黑"]

for name in my_list1:

if name == "小黑" :

print("找到你了,小黑")

break

else:

print("没找到你") # for后面else语句中的代码会在执行所有循环后,才会执行,

# 遇到break,else就不会执行了

cbe5e3042831?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

五. 列表的更多操作

(1) 列表也支持加法运算和乘法运算

两个列表进行加法运算,表示拼接两个列表

列表和整数可以进行乘法运算,表示重复当前列表中的成员指定次数遍

代码演示:

#列表的加法运算,两个列表相加表示两个列表的拼接

list1 = [1,2,3]

list2 = ["a", "b", "c"]

list3 = list1 + list2

print(list3)

#列表的乘法运算,列表和整数相乘,表示按指定次数重复当前列表的成员

list4 = list1 * 4

print(list4)

cbe5e3042831?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

(2) in 判断一个成员是否在列表中

in 是一个运算符,其结果只会是True和False。

代码演示:

# in 来判断成员是否在列表中

my_list = ["a", "b", "c", "d"]

print("a" in my_list)

cbe5e3042831?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

True即表示该成员在列表中

(3) not in 判断一个成员是否不在列表中

代码演示:

# not in 判断一个成员是否不在这个列表中

my_list = ["a", "b", "c", "d"]

print("a" not in my_list)

cbe5e3042831?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

在开发过程中,一般in 是用在if条件中:

代码演示:

# in 在开发中一般和if判断连用

my_list = ["a", "b", "c", "d"]

my_name = "a"

if my_name in my_list:

print("%s在列表中" % my_name)

else:

print("%s不在列表中" % my_name)

cbe5e3042831?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

(4) 列表的增、删、改、查

在开发中,列表中存放的成员就是数据,那么我们可以对列表里面的成员进行,增加、删除、修改、查看

常规操作:增、删、改、查、排序

代码演示:

# 列表增加成员

# 1.在列表末尾追加成员

# 列表.append(数据)

my_list1 = ["a", "b", "c", "d"]

my_list1.append("e")

print(my_list1)

# 2.insert 指定下标左边位置插入数据

# 列表.insert(下标, 数据)

my_list2 = ["az", "bz", "cz", "dz"]

my_list2.insert(2, "fz")

print(my_list2)

# 在列表操作中,insert的下标如果不存在,则表示追加

# 3. extend 合并一个新的列表

my_list3 = ["ax", "bx", "cx", "dx"]

my_list4 = ["ex", "fx", "gx"]

my_list3.extend(my_list4)

print(my_list3)

# 列表删除成员操作

# 1.使用del通过指定下标可以删除成员

my_list5 = ["aa", "bb", "cc", "dd"]

del my_list5[-1]

print(my_list5)

# 2.使用remove删除成员

# 列表.remove(要删除的数据)

# 使用remove删除数据时,如果数据不存在会报错

my_list6 = ["aaa", "bbb", "ccc"]

my_list6.remove("aaa")

print(my_list6)

# 3.使用pop删除最后一个成员,也可以删除指定下标对应的数据

# 设置的下标必须存在,否则报错

my_list7 = ["aaaa","bbbb", "cccc", "dddd"]

my_list7.pop(-1)

print(my_list7)

# 4.清空列表

# 列表.clear()

my_list8 = ["q", "w", "e", "r"]

my_list8.clear()

print(my_list8)

# 列表修改成员的值

# 直接通过下标进行值的修改,如果下标不存在,则直接报错

my_list9 = ["t", "y", "u", "i"]

my_list9[-1] = "o"

print(my_list9)

# 列表查找成员

# 1.直接通过下标index查找成员,如果下标不存在,则报错

my_list10 = ["1", "2", "3", "4"]

print(my_list10[3])

# 2.通过值来查找成员下标,如果不存在,则报错

my_list11 = ["11", "22", "33", "44"]

res1 = my_list11.index("11")

print(res1)

# 3.在指定下标范围内查找数据,找不到则报错

my_list12 = ["z", "x", "c", "v"]

res2 = my_list12.index("x", 0, 2) #查找的时候不包含结束位置

print(res2)

# 4.count 统计成员在列表中出现的次数,如果没有,则为0次

my_list13 = ["a", "s", "d", "a", "a", "f"]

res3 = my_list13.count("a")

print(res3)

# 5.len 统计列表成员的个数

my_list14 = ["qq", "ww", "ee", "rr"]

res4 = len(my_list14)

print(res4)

# 列表排序

# 让列表中的成员进行升序排序

my_list15 = [8, 2, 6, 7, 3, 1]

my_list15.sort()

print(my_list15)

# 可以通过key=str,来设置排序的时候,全部当成字符串来进行排序

my_list16 = ["a", 2, "f", 8, "s", "p", 3]

my_list16.sort(key=str)

print(my_list16)

# 可以通过key=len,来设置排序的时候,通过字符串长短来排序

# sort()默认让列表成员进行升序排列,还可以设置降序

my_list17 = [6, 4, 8, 0, 3, 5]

my_list17.sort(reverse=True) #让列表中的成员降序排序

print(my_list17)

# reverse()可以将列表中成员进行逆序排列

my_list18 = ["小明", "小白", "小兰", "小黑"]

my_list18.reverse()

print(my_list18)

cbe5e3042831?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值