学习Python第二天

分支和循环

if

if的四种用法:

1.if 条件:

        print("")

条件正确执行下面的输出,条件错误不执行下边的代码

if 1>0:
    print("你真厉害")

2.if 条件:

        print("")

   else:

         print("")

条件正确执行if下面的代码输出‘你真厉害’,条件错误执行else下边的代码输出‘你很厉害’

if 1>2:
    print("你真厉害")
else:
    print("你很厉害")

3.

if 条件:

        print("")

   elif 条件:

         print("")

       ……

    else:

        print("")

多条件判断,第一个条件不满足就执行第二个条件,一直往下判断,只到条件满足之后,执行输出,或者条件都不满足,此时就执行最后else里面的语句(最后的else可以省略)

 nun = input("请输入你的成绩")
nun = int(nun)
if 80>nun>=60:
    print("及格")
elif nun>=80 and nun<=100:
    print("优秀")
elif 0<=nun<60:
    print("不及格")
else:
    print("请输入正确的成绩")

4.条件表达式

nun = input("请输入你的成绩")
nun = int(nun)
print("及格") if  80 > nun >= 60 else print("优秀") if  80 <= nun <= 100 else print("不及格") if 0 <= nun < 60 else  print("请输入正确的成绩")

简单的可以使用4条件表达式,但是负责的还是应该使用3

分支结构的嵌套

age = 18
isMale = True
if age >= 18:
    if isMale:
        print("请尽情享受")
    else:
        print("产品可能不适合小公主")
else:
    print("长大了再来")

理论上python支持无限嵌套,但是代码的颜值很重要,嵌套尽量不要超过三层

循环结构的嵌套

python支持两种循环:while 和 for

while配合else:当我们使用了else时,当未执行break语句,那么有和没有else结果一致;如果条件满足跳出循环,那么else内的语句不在执行,但是没有添加else的话仍会执行

1.

day = 1
while day <= 7:
    answer = input("今天有好好学习吗?")
    if answer == "有":
        day += 1
    else:
        break
else:
    print("坚持学习7天")

学习Python第二天_第1张图片

2.

day = 1
while day <= 7:
    answer = input("今天有好好学习吗?")
    if answer == "有":
        day += 1
    else:
        break
print("坚持学习7天")

学习Python第二天_第2张图片

for循环

for循环语法结构:

for  变量  in  可迭代对象:

        statement(s)

可迭代对象:元素可以被单独提取出来的对像

for循环练习:

打印0到10

for num in range(11):
    print(num)

for循环嵌套

打印10以内的素数

for i in range(1,11):
    for j in range(2,i):
        if i%j == 0:
            print(i,"=",j,"*",i//j)
            break
    else:
        print(i,"是一个素数")

列表

可以存储不同类型的数据

用一个中括号【】将元素包裹起来,中间的元素用逗号,隔开,这就是一个列表了

list = [1,2,3,4,5,"上山打老虎"]

列表和字符串一样都是一个序列所以如果我们想要取出列表里的元素此时我们可以使用for循环

list = [1,2,3,4,5,"上山打老虎"]
for i in list:
    print(i)

下标:

元素下标都是从0开始的到n-1结束

学习Python第二天_第3张图片

 

当我们想要获取一个很长的列表的最后一个元素时,我们有两种方法:

1.用len函数算出列表长度,然后再减一获取最后一个元素的下标

list = [1,2,3,4,5,"上山打老虎"]
length = len(list)
print(list[length-1])

2.直接

print(list[-1])

用下标-1

学习Python第二天_第4张图片

切片:

当我们想要获取一个列表中的不止一个元素时,此时就要用到切片了

语法:

67829833672b45a3b50c76eda5945bb3.png

获取下标start到下标stop-1的元素,然后跨度为step

使用方法:

#获取前三个元素
print(list[0:3])
#获取3之后的元素
print(list[3:6])
#获取全部元素跨度为2
print(list[0:6:2])

列表的诸多方法:

增:

man = ["小明","小李","小白","小黄"]
man.append("小谭")
#在元素后添加元素,只能添加一个元素
print(man)
man.extend(["小张",111])
print(man)
#extend0方法的参数必须是一个可迭代对象
#新的内容是追加到原列表最后一个元素的后面
man.insert(1,"小葛")
#再指定索引添加元素
print(man)

append:在元素后添加元素,只能添加一个元素

extend:参数必须是一个可迭代对象,新的内容是追加到原列表最后一个元素的后面

 insert:在指定索引添加元素

删:

man.remove("小葛")
#如果列表中存在多个匹配的元素那么它只会删除第一个
#如果指定元素不存在,那么程序就会报错
print(man)
man.pop(1)
#删除指定下标的元素,下标不存在就会报索引超出范围
print(man)
man.clear()
#删除列表内的全部元素
print(man)

remove:删除元素内指定元素,如果列表中存在多个匹配的元素那么它只会删除第一个,如果指定元素不存在,那么程序就会报错

pop:删除指定下标的元素,下标不存在就会报索引超出范围

clear:删除列表内的全部元素

改:

1.可以直接使用下标进行修改

man[-1]="小1"
print(man)

修改最后一个元素

2.使用下标修改多个元素

man[2:]=["111","222","333","444"]
print(man)

把下标为2和他之后的元素替换

这个过程分为两个步骤:一、先把下标2和他之后的元素删除二、添加上我们中括号内的元素

将列表内的元素从小到大排序:

num = [2,4,6,1,3,4,6,8,2,3,6]
num.sort()
print(num)

将列表内的元素从大到小排序有两种:num.reverse和num.sort(reverse=True)

num = [2,4,6,1,3,4,6,8,2,3,6]
num.reverse()
print(num)
num.sort(reverse=True)
print(num)

查: 

count:查询指定元素的个数

num = [2,4,6,1,3,4,6,8,2,3,6]
i = num.count(3)
print(i)

index:查询指定元素的下标

index[num,start,stop]

start指定开始查询的位置,stop指定结束查询的位置

num = [2,4,6,1,3,4,6,8,2,3,6]
i = num.count(3)
print(i)
j = num.index(3)
print(j)

copy:复制指定列表(都是浅copy)

也可以使用切片来实现(都是浅copy)

num_copy = num.copy()
print(num_copy)
num_copy2 = num[:]
print(num_copy2)

列表的运算

加法:相当于把两个列表合并成一个

乘法:相当于把列表内的元素重复n遍

num =[1,2,3]
num1 = [4,5,6]
print(num+num1)
print(num*3)

嵌套列表:

A= [0]*3
for i in range(3):
    A[i] = [0]*3
print(A)
B = [[0]*3]*3
print(B)
print(A[1] is A[2])
print(B[1] is B[2])

A是相当于生成了三个单独【0,0,0】,他们都是单独存储的

B相当于把一个【0,0,0】复制了3遍,只有一个存储地址

 

你可能感兴趣的:(学习)