Python:循环,字符串
循环
For 循环
range()左闭右开区间:省略第一个参数:默认起始范围是零
添加第三个参数:步长
def sumfroom(m,n):
total=0
for i in range(m,n+1):
total+=x
return total
#等价于下面的
def sumfroom(m,n):
return sum(range(m,n+1))
for循环嵌套
#矩阵(补充:import numpy as np(生成矩阵的包))
def printcoordinates(xmax,ymax):
for x in range(1,xmax):
for y in range(1,ymax):
print(f"({x},{y})",end=" ")
print()
#精妙算法
def printMysteryStarShape(n):
for row in range(n):
print(row,end=" ")
for col in range(row):
print("*",end=" ")
print( )
"""
n=2
0
1 *
2 * *
"""
break,continue语句
continue:不执行下面的语句,直接进行下一次循环
break:跳出整个循环
for _ in range(5): # _是黑洞,什么都可以装,但不会变成任何一个变量
for _ in range(200):
if n % 3 == 0:
continue #跳过这次循环
elif n == 8:
break #跳过当前整个循环
elif :
pass #啥也不做,占位符,不会被运行
print(n,end=" ")
print( )
假死循环:与环境交互后,在特定条件下终止的循环
#更快计算质数
def faster_is_prime(n):
if n < 2:
return False
if n % 2 == 0:
return False
max_factor = round(n**0.5)
for factor in range(3,max_factor+1,2):
if n % factor == 0:
return False
return Ture
while循环:在不知道循环什么时候停止,可以使用
字符串
字符串文字
四种引号:“ " and ‘ ' and ' ' ' ' ' ' and " " " " " "
引号里面包裹的引号被认为字符串,但是python匹配的是最近的与他相同的引号
字符串中的换行符号
1.前面有反斜杠八的字符,叫做转义序列转义序列只作为一个字符存在 比如n 代表换行,尽管它看起来像两个字符,但是 Pvthon 依然把它视为一个特殊的字符
-
s = "D\\a\"t\ta
print("s =",s)
print("\ns 的长度为:“,len(s))
#结果
s = Dla"t
s的长度为: 7
3.其他的转义序列
print("双引号: \"")
print(“反斜线: ”)
-
`print(repr(s1))
# reper()可以反映出隐藏的
print(repr(s2))
'Data\twhale' 'Whale Data'
字符串常量
字符串的运算
1.字符串的加乘
print("abc"+ "def") # abcdef
print("abc"* 3) # abcabcabc print("abc"+ 3) # TypeError
2.in 运算(超级好用!) print("ring" in "strings") # True
print("wow”in"amazing!") # False
print("Yes" in "yes!") # False
print("" in "No way!") # True
print("聪明”in“聪明办法学 Python") # True
字符串的索引和切片
单个字符索引 索引可以让我们在特定位置找到一个字符 s ="Datawhale print(s)
# Datawhale
print(s[0]
) # D
print(s[1])
#a
print(s[2])
#t
print(s[3])
#a `负数索引
print(s[-1])
#e
print(s[-2])
#l
切片的默认参数
print(s[ :4]) #默认从下标为零处开始,步长为一
print(s[4: ]) #默认一直到结束,步长为一
print(s[ : ]) #默认从下标为零处开始一直到结束,步长为一
切片的第三个参数step
print(s[1:4:2]) #aa
翻转字符串
法一print(s[ : :-1]) #elahwataD
法二print(" ".join(reversed(s)) #elahwataD
法三def reverse_string(s):
return s[ : :-1]
print(reverse_string(s) #elahwataD
用索引的for 循环
for i in range(len(s)):
print(i,s[i])
in运算
for c in s:
print(c)
使用enumerate获得元素序号
for idx , c in enumerate(s):
print(idx,c)
zip(a,b)可以在一次循环中,分别从a和b里同时取出一个元素
for a,b in zip(s,reverse_string(s)):
print(a,b)
用split()来循环
#class_name.split() 本身会产生一个新的叫做“列表”的西但是它不存储任何内容
class_name = "learn python the shart way 2nd edition"
print(word)
用 splitlines()来循环
跟上面一样,class_info.splitlines() 也会产生一个列表,但不存储任何内容
for line in class info.splitlines():
if (line.startswith("prepare To Be Smart")):
print(line)
class info.splitlines()
一些跟字符串相关的内置函数 str():j将数字转化为字符串
len():求字符串的长度
标签:return,Python,print,range,循环,字符串,def From: https://www.cnblogs.com/liudan050501/p/17871670.html