python

Python知识点

for 循环

for i in range(0,5): 输出结果是0,1,2,3,4
for i in range(0,5,3): 输出结果是0,3
for x in 字符串
for x in len()

while循环

i=0
while i<5:
print("这是第几次循环%d"%i)
print("i=%d"%i)
i +=1

练习题目

1.1-100求和

i=0
sum=0
while i<=100:
    sum=sum+i
    i+=1
print(sum)  

while else

count=0
while count<5:
    print(count,"小于5")
    count+=1
else:
    print(count,"大于或等于5")

for 循环

for i in range(0,5): 输出结果是0,1,2,3,4
for i in range(0,5,3): 输出结果是0,3

while循环

i=0
while i<5:
print("这是第几次循环%d"%i)
print("i=%d"%i)
i +=1

练习题目
1.1-100求和

i=0
sum=0
while i<=100:
    sum=sum+i
    i+=1
print(sum)  

while else

count=0
while count<5:
    print(count,"小于5")
    count+=1
else:
    print(count,"大于或等于5")

break continue

n=1
while n <=100:
    if n>10:
        break
    print(n)
    n+=1

结果打印1-10

i=0
while i<10:
    i+=1
    print('-'*30)
    if i ==5:
        break
    print(i)

结果打印1-4
重点 continue是跳过本次循环下的所有语句
break结束整个while循环
练习2
用if 和while语句写九九乘法表

i=0
while i<10:
    if i ==1:
        print("1*1=%d"%(i**2))
    if i ==2:
        print("2*1=2 2*2=4")
    if i ==3:
        print("3*1=3 3*2=6 3*3=9")
    if i ==4:
        print("4*1=4 4*2=8 4*3=12 4*4=16 ")
    if i ==5:
        print("5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 ")
    if i ==6:
        print("6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36")
    if i ==7:
        print("7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49")
    if i ==8:
        print("8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64")
    if i ==9:
        print("9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81")
    i+=1


只用for循环

for i in range(0,10):
    for j in range(1,(i+1)):
        print("{}*{}={}\t".format(i,j,(i*j)),end="")
    print()

字符串

  • '和‘’要灵活运用
  • '''指段落
  • 注意转义的使用
    my_str = 'I'm a student'
  • 转义字符
    • \
    • \n
    • \t
    • '
    • "
  • 字符串的截取
my_str='harbin'
print(my_str)
print(my_str[0:6])
  • 字符串中含有r字符串中全不予解释直接输出

常见字符串操作

  • bytes.decode(ecoding='utf-8',errors='strict')
  • encode(ecoding='UTF-8',errors='strict')
  • isalpha()
  • isdigit()
  • .join()
  • rstrip()

列表

list=[0,'xiaowang','xiaoli']
访问
print(list[0])
列表可以存放不同类型的数据

  • 列表的操作

    • list.append() 追加到列表的尾部
      list.extent(list2)列表的追加及把一个列表中的元素加到另一个列表
      list.insert(1,2)可以控制加入列表的位置

    • movieName = ['加勒比海盗','骇客帝国','速度与激情','第一滴血']
      del movieName[2]
      print(movieName)
      list.pop() 弹出末尾最后一个元素
      list.remove('第一滴血')可以指定删除的元素

    • list[1]='xiaohong'

    • if wujiuchun in a:
      print("在名单中找到了相同的名字")
      else:
      print("没有找到")
      a.index("a",1,4)在一到四的范围找a 可以查找指定下标范围的数据,并返回找到对应数据的下标
    • 排序
      a=[1,4,2,3]
      a.reverse()
      print(a)
      将列表所有元素翻转过来
      a=[1,4,3,2]
      a.sort()
      print(a)
      a.sort(reverse=True)
      print(a)
      sort可以按照从大到小和从小到大的顺序来
      例题
products=[["iphone",6888],["MacPro",14800],["小米6",2499],["Coffee",31],["Book",60],["Nike",699]]
print("-"*10+"商品列表"+"-"*10)
a=[]
i=0
while i <len(products):
    print(i,end="\t")
    a.extend(products[i])
    print(a[-2],end="\t")
    print(a[-1],end="\n")
    i+=1

products=[["iphone",6888],["MacPro",14800],["小米6",2499],["Coffee",31],["Book",60],["Nike",699]]
print("-"*10+"商品列表"+"-"*10)
a=[]
i=0
while i <len(products):
    print(i,end="\t")
    a.extend(products[i])
    print(a[-2],end="\t")
    print(a[-1],end="\n")
    i+=1
print("请问你想买点什么?")
buy=int(input("请输入你想选择的商品编号"))
a.clear()
a.append(products[buy])
print("请问你还想继续吗?")
ask=input("如果想退出请输入q,如果不想退出请继续输入商品编号")
while ask != 'q':
    ask=int(ask)
    a.append(products[ask])
    print("请问你还想继续吗?")
    ask = input("如果想退出请输入q,如果不想退出请继续输入商品编号")
else:
    print("你想买的商品是",end="\n")
    print(a)

元组

()不可删改
只含一个元素的元组需要(1,)
可以像列表一样访问

操作

tup1=(1,2)
tup2=(2,3)
tup3=tup1+tup2
  • 删除
tup1=(1,2)
del tup1
将元组从内存中删除
##列表
list={'name':'吴彦祖',"age":18}
print(list['name'])
print(list["age"])
print(list.get("time"))
用get 方法可以找没有的值没有找到值返回None
###操作
- 增加
list["id"]=newID
print(list['id'])
- 删除
del  删除整个字典 del list
clear list.clear() 清空列表
- 修改
list["age"]=20
print(list.keys())   字典的键
print(list.values())  字典的值
print(list.items())   字典的所有元素
###特殊用法

mylist = ['a','b','c','d']
for i,x in enumerate(mylist):
print(i,x)

枚举类型
info={"id":"wujiuchun","age":18}
for key,value in info.items():
    print("key=%s,value=%s"%(key,value))

##集合
不重复无序
s=set([1,2,3])
print(s)
##函数
返回多个值的函数

def divid(a,b):
shang=a//b
yushu=a%b
return shang,yushu
sh,yu=divid(5,2)
print("商%d,余数%d"%(sh,yu))

###练习题

def heng():
    print("-"*30)
heng()
def count():
    a=int(input("请输入你想输入的参数,打印出自定义行数的横线"))
    while a>0:
        heng()
        a-=1
count()

def sum(a,b,c):
    return a+b+c
print(sum(1,2,3))

def average(a,b,c):
    return (sum(a,b,c)//3)
print(average(1,2,3))


![](https://img2020.cnblogs.com/blog/2555425/202201/2555425-20220113100335960-1706065118.png)

###全局变量和局部变量
def test1():
    a =300
    print("test1----修改前:a= %d"%a)
    a=100
    print("test1----修改后:a= %d"%a)
test1()
在函数里都是局部变量

a=100 #全局变量
def test1():
a = 300 #局部变量优先使用
print("test1-----修改前:a= %d"%a)
a= 200
print("test1----修改后:a= %d"%a)
def test2():
print(a)

global 可以提升全局变量
##文件读写
f=open("test.txt","w")  #打开文件w模式(只用于写入)如果存在则覆盖,不存在,创建新文件
f.close()
f.write("sjdjaj") 将字符串写入
read方法 读取指定字符,开始时定位在文件头部,每执行一次向后移动指定字符数、

f=open('test.txt','r')
content=f.readlines()
print(content)
f.close()

readline 将一个文档中的内容全部读出来
##异常处理

import time
try:
f=open("123.txt","r")
try:
while True:
content =f.readline()
if len(content) ==0:
break
time.sleep(2)
print(content)
finally:
f.close()
print("文件关闭")
except Exception as result:
print("发生异常")

coding=utf-8

f=open("gushi.txt",'w')
f.write('''
白日依山尽
黄河入海流
欲穷千里目
更上一层楼
''')
f.close()
def read():
f=open("gushi.txt", 'r')
a=f.readlines()
f.close()
return a
f=open('copy.txt','w')
f.write(a)
read()

posted @ 2022-05-31 09:06  20211308wjc  阅读(43)  评论(0编辑  收藏  举报