第三天学python
一,while循环
# 使用while循环实现 0 -100 相加
i = 1
sum = 0
while i <= 100:
# sum = sum = = sum + i
sum = sum + i
i += 1
print(sum)
'''
第一次循环 i = 1, sum = 0, -->sum = sum + i = 0 + 1 = 1,sum = 1, i = 2
第二次循环 sum = 1, i = 2,-->sum = sum + i = 1 + 2 = 3,sum = 3,i = 3
第三次循环 sum = 3, i = 3, -->sum = sum + i =3 + 3 = 6, sum = 6,i = 4
...
第九十九次循环 sum = 4851, i = 99, --> sum = sum + i = 4051 + 99 = 4950 , sum = 4950, i = 100
第一百次循环 sum = 4950, i = 100, --> sum = sum + i = 4950 + 100 = 5050, sum = 5050, i = 101
'''
二,break终止循环
#吃四个苹果
i = 1
while i <= 4:
print(f"吃第{i}个苹果")
i += 1
print("=============================")
# 吃四个苹果 吃到第三个我就饱了 不用吃了
i = 1
while i <= 4:
print(f"吃第{i}个苹果")
if i == 3:
print("我吃饱了,毁灭吧,结束吧")
#终止所有循环 跳出循环
break
i += 1
print("============================")
#第三个循环 吃到一个带有虫子的苹果 跳出本次循环 继续吃第四个苹果 第三个牌苹果就不用吃了
i = 0
while i <= 4:
i += 1
if i == 3:
print("这个苹果有虫子,扔掉,退出本次循环")
continue
print(f"吃第{i}个苹果")
i += 1
# break 和continue区别,break是终止所有循环,continue是跳出本次循环
三,for循环
# 循环打印出python每个词
# 012345
str1 = "python"
print(str1[3])
# i 是临时变量,用来取值
for i in str1:
print(i)
print("===========================")
'''
随堂练习
1,使用while循环取出y和o,打印出来
'''
j = 0
while j < 6:
if j == 1 or j == 4:
print(str1[j])
j += 1
print("============================")
# 打印for循环 打印james 跳过m
for i in "james":
if i =="m":
continue
print(i,end=' ')
四,猜拳游戏
'''
石头(1)剪刀(2)布(3)
电脑赢: 1-2,2-3,3-1
平均: 1-1,2-2,3-3
我赢: 1-3,2-1,3-2
'''
import random
user = int(input("请输入猜拳数字(1)石头(2)剪刀(3)布:"))
# computer是一个int类型
computer = random.randint(1,3)
print(computer, "-",user)
if user == computer:
print("平局")
elif (computer == 1 and user == 3) or (computer == 2 and user ==1) or (computer == 3 and user ==2):
print("用户赢")
else:
print("电脑赢")
五,range的用法
#i = 1
#while i <= 5:
# print(i)
# i += 1
print("======================")
for i in range(1,6):
print("*" * i)
print("=========================")
for i in range(1,6):
if i % 2 ==1:
print("*" * i)
六,字符串操作
#定义一个字符串
# a ="Hello Python"
# b ='abcdef'
# print(type(a))
# print(type(b))
#
# name1 ='秦小天'
# name2 ="范顺"
# name3 ='''廖金冠'''
# name4 ="""护航"""
# name='''汤家亮'''
# print(type(name1))
# print(type(name2))
# print(type(name3))
# print(type(name4))
# print(type(name5))
# #格式化字符串
# print(f"你的名字是{name1}")
# print("==============================")
# # 01234 字符串下标 或者叫做 索引
# name ="simon"
# print(name[0]) #取s
# print(name[2]) #取m
# print(name[4]) #取n
#
print("====================")
#切片 0123456
name6 = "abcdefg"
#第一个数字是开始的位置(包含)
#第二个位置是的只是结束位置(不包含)
#要前不要后
print(name6[2:5])
print(name6[2:5:1])#跟上面一样 第三个参赛是布长 默认是1
print(name6[:5])#第一个参数不写,默认是0
print(name6[4:])#第一个参数不写 默认取到最后
print(name6[:])#第一个参数和第二个参数都不写 表示取整个字符串从头取到未
print(name6[::2])#步长是2 表示跳着取 0245位置上的值
print(name6[-1])
print(name6[:-1])#从开始取到最后一个 但是最后一个不要
print(name6[-4:-1])#把倒数第四和第二取出来
print(name6[::-1])#把字符串倒过来
print("=====================")
# 字符串查找 find
# 12345678910
mystr = "hello world"
# 查找hello 查找到了返回 子串在原来字符串中的起始位置
result1 = mystr.find("hello")
print(result1)
result2 = mystr.find("world")
print(result2)
# 在字符串中查找一个不存在的值 查找失败 返回-1
result3 = mystr.find("python")
print(result3)
#第二个参数 和第三个参数表示是 在哪一个区间查找
result4 = mystr.find("lo",6,10) #在位置6-10 找不到lo
print(result4)
result5 = mystr.find("lo",2,6) #在位置6-10 找不到lo
print(result5)
print("============================")
# 字符串查找index 用法与find类似
mystr1 = "hello world"
# 查找到则返回 第一个字符的位置下标
ret1 = mystr1.index("hello")
print(ret1)
ret2 = mystr1.index("world")
print(ret2)
# ValueError: substring not found
#表示没有找到 则报错 报错会导致程序结束
# ret3 = mystr1.indx("python")
#print(ret3)
#在指定位置上查找 找不到 则报错
# ret4 = mystr1.indx("lo",4,8)
#print(ret4)
ret5 = mystr1.indx("lo",1,8)
print(ret5)
七,字符串操作
# 统计字符串次数count
com_apply = "this class is very good, so good, people good, so amazing"
# 计算good在字符串中的次数
result1 = com_apply.count("good")
print(result1)
# 24,50是指定范围内 查找good的次w数
result2 = com_apply.count("good, 24, 50")
print(result2)
print("==========================")
# 修改字符串 replace
com_apply = "this class is very good, so good, people good, so amazing"
# 没有第三个参数的情况下 将所有的good替换为bad 生成一个新的字符串 原来的字符串没有变化
# 有第三个参数的情况下 第三个参数是替换的次数
result3 = com_apply.replace("good,""bad",2)
print(result3)
print(com_apply)
浙公网安备 33010602011771号