python-容器、循环

容器(列表、元组、集合、字典)

一、元组

1.元组结构

(元素1,元素2,元素3…)

元组的元素数据类型可以不同,但元组的元素不能更改。

tuple_1 = ("hello",1,2,-20,9,8,[4,5,6])
print(type(tuple_1))

2.元组切片

tuple_1 = ("hello",1,2,-20,9,8,[4,5,6])
print(tuple_1[1:4])

tuple_1[-1][0] = "nanhangjingcheng"
print(tuple_1)    //元组里边的列表的元素可以更改

3.元组的表达

t = (1,2,3)
print(type(t))
t1 = 1,2,3
print(type(t1))
t2 = (2)
print(type(t2))
t3 = (2,)
print(type(t3))
t4 = tuple()   # 声明一个空白元组,也可以强制转换
只有一个元素时,元素后面一定要带逗号(,)

二、集合

集合:无序的,集合中的元素是唯一的------->去重

1、set()函数

set_01 = set("12345")
print(set_01)
set_02 = set([1,2,3,4,1,3,2])
print(set_02)
set_03 = set((10,20,30,1,1,1))
print(set_03)
set_04 = set(d)
print(set_04)

2、{} 元素数据类型只能是数字、字符串、元组

set_05 = {(1,2,3,4),1,1}
print(set_05)

3、集合的方法

set_01 = {1,2,3,“nanhang”}

添加add()

set_01.add("jincheng")
print(set_01)

remove()删除 不存在,报错

set_01.remove(4)
print(set_01)
set_01.remove(4)

pop()删除最后一位元素

set_01.pop()
print(set_01)

discard()移除指定的元素 不存在,不做任何操作

set_01.discard("jincheng")
print(set_01)
set_01.discard("jincheng")

交集和并集 & |

print(set_01)
print(set_02)
print(set_01 & set_02)
print(set_01 | set_02)

三、字典

1,特点:以键值对的形式存在,且关键字不可变,不能重复,键可以为任意不可变数据(元组、数字、字符串)

2,创建字典

{}

dict_01 = {
    "uname":"zs",
    "age":18,
    (1,2,3):"zs",
    1:18
}
print(type(dict_01))

dict函数

dict_02 = dict((["uname","zhangsan"],["age",18]))
print(dict_02)

创建空字典

dict_03 = {}   # 只写一个大括号,默认创建出来的是空字典
print(type(dict_03))

3、字典的办法

dict_01 ={
    "姓名": "张三",
    "年龄":18
}

dict_01["技能"] = "python"
print(dict_01)

del dict_01["姓名"]
print(dict_01)

dict_01["技能"] = "安全渗透"
print(dict_01)


字典名[键名]

get函数:用于在字典中获取指定件的值,可以设置默认返回值,在找的键不存在时就会将默认值返回出来

print(dict_01.get("技能"))
print(dict_01.get("姓名","nanhang"))

key():以列表的形式返回字典中的所有的键

dict_01 = {
   "uname":"zhangsan",
    "age":21
}
print(dict_01.keys())

items():以键值对的形式输出

print(dict_01.items())

values():以列表的形式返回字典中所有的值

print(dict_01.values())

clear():做字典清空

copy():拷贝副本

fromkeys():创建一个新字典,第一个参数用于作为字典的键,第二个参数用于作为字典的值

d1 = dict_01.fromkeys("姓名","年龄"),("zhangsan",21)
print(d1)

pop()
popitem(): 删除最后一项,并以元组的形式将删除的键值对返回

d3 = dict_01.popitem()
print(d3)
print(dict_01)

强制转化int\float\string\set\list\dict

四、循环

循环: while for 周而复始,谓之循环

while:通过条件的不断变化,从而确定循环体是否继续执行

while 表达式:
    循环体
index = 1        #索引定义
while index <=100:
    print("hello,word")    #循环体
    index += 1

break 立即结束循环

index = 0
while index <= 100:
    if index == 50:
        break
    print(index)
    index += 1

continue 终止本次循环,提前开始下次循环

index =0
while index <= 100:
    index += 1
    if index == 50:
        continue
    print(index)

while…else…循环结构

while condition:
    代码
else:
    代码
#   循环的程序正常结束,才会执行else里边的代码,只针对break
index = 1
while index < 100:
    print(index)
    index += 1
    if index == 50:
        break

else:
    print("执行结束")

循环嵌套

i = 1
while i <= 7:
    print(f"第{i}天")
    j = 1
    while j <= 10:
        print(f"送的第{j}朵花")
        if j == 2:
            break
        j += 1
    i += 1
    # break 只结束距离自己最近的一层的循环
    #内循环不影响外循环

for循环

for 临时变量  in 容器:
     代码块

迭代容器中每一个元素
list = [1,2,3,4]
i = 0
while i < len(list):
     print(list[i])
     i += 1
set_01 = {1,2,3,"nanhangjincheng"}    
for i in list:
     print(i)

for i in set_01:
     print(i)

for既能便利有序的容器,也能便利无序的

不止能迭代容器,还能完成普通循环 99乘法表

range()生成一系列连续的整数

结构:
range(start,end,step)
range(num):[0,num)     # 运行取值是左闭右开的取值

 for i in range(9):
     print(i)

 for i in range(10,21):
      print(i)

 for i in range(0,101,2):
     print(i)

 for i in range(100,0,-2):
     print(i)

作业

1、用循环嵌套打印九九乘法表

i = 1
while i <= 9:
    j = 1
    while j <= i:
        print(f"{j}*{i}={i*j}\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()

在这里插入图片描述

2、用for打印三角形

n = 1
m = int(input("请输入要打印的层数:"))
for i in range(m):
    print("*" * n)
    n += 2

在这里插入图片描述

n = int(input("请输入打印的层数:"))
for i in range(1,n+1):
    m = n - i   # 打印空格
    for j in range(m):
        print(" ",end="")
    for j in range(i):   # 打印*
        print("*",end="")
    for k in range(i-1):
        print("*",end="")
    print()

在这里插入图片描述

3、猜数字

import random
random = random.randint(1,100)      # 获取数字
flag = True
while flag:
    n = int(input("请猜一猜数字吧:"))
    if n == random:
        print("猜对了")
        flag = False
    elif n > random:
        print("不对哦,猜大了")
    else:
        print("不对哦,猜小了")
print(random)

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值