循环结构
优点
- 减少代码冗余
- 提升效率
while循环
语法结构
while 条件表达式: 循环体 code1 code2
打印0-100
i = 0 while i <= 100: print(i) i+=1
执行过程:
第一套循环 首先i=0 判断0<=100 条件成立 返回True 执行循环体 打印当前i i+=1 i = i+1 i=>1 第二套循环 回到第二行循环判断条件中 1 <= 100 条件成立 返回True 执行循环体 打印当前i i+=1 i = i+1 i=>2 ...... 直到当i = 101 时 ,回循环判断条件中,发现不成立,返回False 循环体终止不执行了.跳出循环
计算1~100的累加
i = 0 sum = 0 while i <= 100: sum = sum + i #sum += i i+=1 print(sum)
执行过程
# 第一次循环 判断 i 1<=100 条件成立 执行循环体当中的内容 sum = sum + i => sum = 0 + 1 i+=1 i=>2 # 第二次循环 判断 i 2<=100 条件成立 执行循环体当中的内容 sum = sum + i => sum = 0 + 1 + 2 i+=1 i=>3 # 第三次循环 判断 i 3<=100 条件成立 执行循环体当中的内容 sum = sum + i => sum = 0 + 1 + 2 + 3 i+=1 i=>4 依次类推... 当i = 101 的时候 发现101 <= 100 返回False 循环体不执行,终止循环 sum = sum + i => sum = 0+1+2+3+ ..... + 100 ‘‘‘
可以写一个死循环,通过if判断退出
i = 0 sum = 0 while True: sum = sum + i i+=1 if i == 101: print(sum) break
使用信号控制
sign = True i = 0 sum = 0 while sign: sum = sum + i i+=1 if i == 101: sign = False print(sum)
打印一行10个星星
直接打印
i = 1 while i < 10: print("*",end="") i+=1
用一个变量打印出一行十个小星星 (十个小星星塞在一个变量中,最后达因变量)
i = 0 strvar = ‘‘ while i<10: strvar += "*" i+=1 # strvar = strvar + "*" + "*" + "*" print(strvar)
打印一行十个小星星 奇数个打印★ 偶数个打印☆
i = 0 while i<10: # 余数为0 打印黑猩 if i % 2 == 0: print("★",end="") else: #否则打印白星 print("☆",end="") i+=1
用 一个循环 打印十行十列小星星
print() i = 0 while i<100: # 输出小星星 print("*",end="") # i 从0开始到99结束 # 任意数n与10取余 范围0 ~ 9 0代表第一个星星 9代表最后一个,正好10 , 如果是10个选择换行 if i % 10 == 9: # 打印换行 print() i+=1
一个循环 打印十行十列隔列变色小星星(一个循环)
i = 0 while i<100: # 输出小星星 if i % 2 == 0: print("★",end="") else: print("☆",end="") # 最后换行 if i % 10 == 9: print() i+=1
一个循环 打印十行十列隔行变色小星星(一个循环)
i = 0 while i<100: # 利用地板除与取余的规律 产生十个相同的数字,并且按10个相同的余数取花色 if i // 10 % 2 == 0: print("★",end="") else: print("☆",end="") # 控制换行 if i % 10 == 9: print() i+=1
字符串的操作
字符串的拼接 +
str1 = "生命" str2 = "是美丽的" res = str1 + str2 print(res) str1 += str2 # str1 = str1 + str2 print(str1)
字符串的重复 *
str1 = "重要的事情说三遍" res = str1 * 3 print(res)
字符串跨行拼接 \
strvar = "我的电脑丢了用英文说是my"" computer""is lost" print(strvar)
字符串的索引
和列表类似
strvar = "梁山好汉108将" # -8-7-6-5-4-3-2-1 res = strvar[6] print(res) res = strvar[-2] print(res)
字符串的切片:
语法 => 字符串[::] 完整格式:[开始索引:结束索引:间隔值] (1)[开始索引:] 从开始索引截取到字符串的最后 (2)[:结束索引] 从开头截取到结束索引之前(结束索引-1) (3)[开始索引:结束索引] 从开始索引截取到结束索引之前(结束索引-1) (4)[开始索引:结束索引:间隔值] 从开始索引截取到结束索引之前按照指定的间隔截取字符 (5)[:]或[::] 截取所有字符串
案例
strvar = "生命中曾经有过的所有灿烂,原来终究,都需要用寂寞来偿还" # (1)[开始索引:] 从开始索引截取到字符串的最后 res = strvar[23:] #寞来偿还 print(res) # (2)[:结束索引] 从开头截取到结束索引之前(结束索引-1) # 注意:高位取不到 res = strvar[:4] #生命中曾
print(res) # (3)[开始索引:结束索引] 从开始索引截取到结束索引之前(结束索引-1) res = strvar[5:9] #有过的所 print(res) # (4)[开始索引:结束索引:间隔值] 从开始索引截取到结束索引之前按照指定的间隔截取字符 ‘‘‘ 找出开始索引号3 然后依次加5 会变成 3 8 13 18 23 28 通过数字找索引对应的字符 ‘‘‘ res = strvar[1::2] #命曾有的有烂原终,需用寞偿 print(res) res = strvar[3::5] #曾所原都寞 print(res) res = strvar[:10:3] #生曾过有 print(res) res = strvar[::2] #生中经过所灿,来究都要寂来还 print(res) # 逆向索引 -1 -2 -3 -4 -5 ... res = strvar[-1::-1] # 还偿来寞寂用要需都,究终来原,烂灿有所的过有经曾中命生 print(res) res = strvar[-1:-3:-1] # 方向从右向左 还偿 print(res)
字符串的格式化 (%d %f %s 占位符 )
res = "我今天花了%d元买了一杯咖啡,在星巴克花%f小时学习python,感觉%s" %(30,3.5,"累爆了") print (res)
使用字符串类型的,必须使用引号,否则报错
原文:https://www.cnblogs.com/wangsirde0428/p/14322338.html