学python的第三天
一、while循环(二)
# 使用while循环实现 0-100相加
i = 1
sum = 0
while i <= 100:
# num = sum + i
sum += i
i += 1
print(sum)
print("=================")
'''
第一次循环 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 = 4051, 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
第101次循环 不满足条件结束循环
'''
二、break终止循环和continue
# 吃四个苹果
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}个苹果")
# break和continue区别,break是终止所有循环,continue是跳出本次循环
三、for循环
# 循环打印python每个单词
# 012345
str1 = "python"
print(str1[3])
# i 是临时变量,用来取值
for i in str1:
print(i)
四、range用法
i = 1
while i <= 5:
print(i)
i += 1
print("========================")
# range(1,6)是 循环从1到6,不包括6,布长位1,循环次数为五
for i in range(1, 6):
print(i)
五、字符串操作
# 定义一个字符串 字符串使用双引号或者单引号
a = "hello Python"
b = 'abcdef'
print(type(a))
print(type(b))
name1 = '养猪风'
name2 = "杨朱分"
name3 = '''杨祝峰'''
name4 = """杨竹分"""
name5 = '''
杨主妇'''
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
# -1-2
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 表示跳着取 0246位置是的值
print(name6[-1])
print(name6[:-1]) # 从开始取到最后一个 但是最后一个值不要
print(name6[-4:-2]) # 把倒数第四和第三取出来
print(name6[::-1]) # 把字符串倒过来
print("================================")
# 字符串查找 find
# 012345678910
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) # 在位置2-6 查找不到lo
print(result5)
print("===================")
# 字符串查找index
mystr1 = "hello world"
# 查找到则返回 第一个字符的位置下标
ret1 = mystr1.index("hello")
print(ret1)
ret2 = mystr1.index("world")
print(ret2)
# ValueError: substring not found
# 表示没有找到 则报错 报错会导致程序结束
# ret3 = mystr1.index("python")
# print(ret3)
# 在指定位置上查找 找不到 则报错
# ret4 = mystr1.index("lo", 4, 8)
# print(ret4)
ret5 = mystr1.index("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的次数
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)
七、猜拳游戏
'''
猜拳游戏
石头(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, type(computer))
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("电脑赢")
浙公网安备 33010602011771号