复习for循环 99乘法表
# -*- coding:utf-8 -*-
for i in range(1,10):
for j in range(1,i+1):
print(f"{i}x{j}={i*j}",end = " ")
print()
字符串
var1 = "hello world"
var2 = 'hello world'
var3 = """hello world"""
var4 = """
你好,
我是xxx,
我喜欢xxxx,
我是小橘子
print(var4)
字符串的格式化输出
name = "小橘子"
age = 18
height = 158.5
# %s 输出字符串 %d 输出整数类型 %f 输出浮点型
print("%s" % name)
print("%d" % age)
print("%f" % height)
print("%s" % age)
print("%s" % height)
# print("%d" % name) #不能用整数名字
print("%d" % height)
print("%f" % age)
var5 ="180" #字符串
var6 = "185.678"
print("%s" % var5)
# print("%d" % int(var6)) 长得像整数的字符串不能转int
print("%d" % eval(var5))
print("%f" % float(var5))
▲
长得像整数的字符串可以转换为整数也可以转化为浮点数
长得像浮点数的字符串只能转化为浮点数不能转为int
input
num = input("输个数:") #输入
print(num)
print(int(num))
print(float(num))
下标也叫(索引) 索引是从0开始
var7 = "hello world"
#下表为5
print(var7[2])
print(var7[5])
print(var7[8])
切片 (字符串、列表、元组都支持)
var8 = "hello python i love you"
print(var8[0:5]) #从大到小切
print(var8[1:10]) #从1开始,到10结束(不会拿到10本身)
print(var8[6:12])
print(var8[6:12:2]) #从6开始,到12结束 步长为2(不会拿到12本身)
print(var8[:5]) #从0开始,下表为5结束(不会拿到本身)
print(var8[5:]) #从5开始,一直到结束
print(var8[:]) #拿取所有
print(var8[::2]) #从0开始,步长为2,拿取所有
print(var8[-1]) #从右到左从-1开始
print(var8[:-1]) # 从0开始,到最后一个人结束(-1代表最后一个数,不包含-1本身)左闭右开 最右一个拿不到
print(var8[-3:])
print(var8[-1:-4]) #从小到大切
print(var8[::-1]) #从右往左拿取全部
print(var8[:-4:-1])
print(var8[-5:-9:-1])
print(var8[5:0:-1])
查找
#find()
var9 = "hello world and java and php i love you"
print(var9.find("love"))
print(var9.find("python"))
print(var9.find("and",18,30)) #可区间范围指定
#index() 表在整个字符串里查找
print(var9.index("and")) #查找到and首字母下标
print(var9.index("and",8,20)) #查找到下标为8—20,and首字母下标
# print(var9.index("or")) #查找or 如果没有则报错
count() 表在整个字符串序列中查找出现的次数
print(var9.count("python"))
print(var9.count("world"))
拓展(了解即可)
#rfind() 右侧开始
#rindex()
修改
#replace()
var10 = var9.replace("java","python")
print(var10)
var10 = var9.replace("a","b",2) #"2"修改次数
print(var10)
注意:数据按照是否能直接修改分为“可变类型”和“不可变类型”
修改后内存地址(id)有没有发生变化
可变类型 --没有变化
不可变类型 --地址变了
var11 = "hello python"
print(id(var11))
var12 = var11.replace("python","world")
print(id(var12))
split() 切割
#注意:字符串序列.spilt(分割字符,num)
#num表分割字符出现的次数
var13 = "唱歌|跳舞|rap|羽毛球"
var14 = var13.split("|",3)
切割后的内容,以列表的形式展示
join() 将多个字符串合并为一个新的字符串
var15 = "--".join(var14) #只能放一个序列
print(var15)
var16 = "--".join(("你好","小橘子"))
print(var16)
var17 = "--".join(["你好","小橘子"])
print(var17)
语法
字符或子串.join(多字符串组成的序列)
capitalize() 将字符串第一个字符转换成大写
num1 = " hello and python and hello world "
print(num1.capitalize())
itle() 将字符串每个单词首字母转换成大写
print(num1.title())
upper() 将字符串中小写转大写
print(num1.upper())
lower 将字符串中大写转小写
print(num1.lower())
lstrip() 删除字符串左侧空白字符
print(num1.lstrip())
rstrip() 删除字符串右侧空白字符
print(num1.rstrip())
strip() 删除字符串两侧空白字符
print(num1.strip())
了解即可
ljust() 左对齐
rjust() 右对齐
center() 居中
字符串序列
var = "hello and pytohn and hello world"
print(var.ljust(10,"_")) #左对齐
print(var.rjust(10,"_")) #右对齐
print(var.center(10,"_")) #居中对齐
starstwith() 检查字符串是否以指定子串开头
print(var.startswith("hello")) #开头是hello,返回True
print(var.startswith("and")) #开头不是and 返回False
print(var.startswith("and",6,20)) #在索引6-20,开头是and 返回True
endswith() 检查字符串是否以指定子串结尾
print(var.endswith("and")) #开头是hello,返回True
print(var.endswith("world")) #开头不是and 返回False
print(var.endswith("and",0,9)) #在0-9索引范围 是and结尾 返回True
isalpha() 字符串所有字符都是字母则返回True 否则返回False
mystr1 = 'hello'
mystr2 = '12345'
print(mystr1.isalpha())
print(mystr2.isalpha())
isdight() 字符串只包含数字则返回True 否则返回False
print(mystr1.isdigit())
print(mystr2.isdigit())
isalnum() 判断所有字符串都是字母或数字组成则返回True 否则返回False
print(mystr1.isalnum())
mystr3 = " "
#isspace() 字符串中只包含空白 则返回True 否则返回False
print(mystr1.isspace())
print(mystr3.isspace())
字符串运算
+
print("你好"+"你们好") #拼接字符串
in not in
var17 = "hello 你好 小橘子"
if "小橘子" in var17 :
print("在里面")
var18 = "hello 你们好 橘子"
if "小橘子" not in var18 :
print("不在里面")
print(r"你好\n\t橘子") #取消转义
作业
#提取数字出来
varr1 = "1a2b3c4d5e6f"
for data in varr1:
if data in "0123456789":
print(data)
#1-6相加
varr2 = "1a2b3c4d5e6f"
result = 0
for data in varr2:
if data in "0123456789":
result += int(data)
print(result)