# 实现while循环实现 0-100 相加
i =1sum=0while i <=100:sum=sum+ i
i +=1print(sum)'''
第一次循环 i = 1, sum = 0, --> sum = sum + i = 0 + 1, sum = 1,i = 1
第二次循环 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
第一百零一次 不满足条件结束循环
''''''
随堂练习:
1、将0-100所有3的倍数相加
2、将0-100所有3的倍数相加 含有3的 相加
3、奇数排序思想:先判断十位数上的大小,再排个位数上的大小
46,37,42
37,46,42
37,42,46
使用奇数排序思想给上面三个数进行排序,从大到小 打印出来
a = 46,b = 37,c = 42
4、归并排序
a = 46,b = 37, c = 42,d = 39
把ab放在一组 把cd放在一组
ab选出较大,cd选出较大值,然后 再把ac放在一起比较,选出谁是最大 打印出来
同样的方法 选出最小 打印出来
'''# 第一题print("===================")# 将 0 - 100 所有3的倍数相加
i =0
sum1 =0while i <=100:if i %3==0:
sum1 += i
i +=1print(sum1)print("===================")# 将 0 - 100 所有3的倍数相加 含有3
i =0
sum1 =0while i <=100:if i %10==3:
sum1 += i
if i ==33:print("1")if i /10==3:
sum1 += i
if i ==33:print("2")
i +=1print(sum1)print("===================")# 基数排序# 46, 37, 42# 归并排序defmergeSort(a, low, high):if low < high:
mid =(high + low)//2# 取要排序的序列的中间位置
mergeSort(a, low, mid)# 继续递归拆分左边序列
mergeSort(a, mid +1, high)# 继续递归拆分右边序列
merge(a, low, mid, high)# 拆分后归并排序# 归并函数defmerge(a, low, mid, high):
i = low
j = mid +1
temp =[]# 左右边比较,数值小的数放入temp数组while i <= mid and j <= high:if a[i]< a[j]:
temp.append(a[i])
i +=1else:
temp.append(a[j])
j +=1# 把左边剩余的数移入数组while i <= mid:
temp.append(a[i])
i +=1# 把右边边剩余的数移入数组while j <= high:
temp.append(a[j])
j +=1# 将temp列表中的数全部复制到原列表a中对应的索引位置for k inrange(len(temp)):
a[k + low]= temp[k]
a =[46,37,42]# 要排序的列表
mergeSort(a,0,len(a)-1)print(a)
二:break终止循环
# 吃四个苹果
i =1while i <=4:print(f"吃第{i}个苹果")
i +=1print("=========================")# 吃四个苹果 吃到第三个就不吃了 不用吃第四个
i =1while i <=4:print(f"吃第{i}个苹果")if i ==3:print("我吃饱了:毁灭吧,结束吧")# 终止循环break
i +=1# break 和 continue区别,break是终止所有循环,continue是跳出本次循环
三:continue跳出本次循环
# 第三次循环吃到一个带有虫子的苹果 跳出本次循环 继续吃第四个苹果
i =0while i <4:
i +=1if i ==3:print("这个苹果有虫子,扔掉,退出本次循环")# continue 跳出本次循环continueprint(f"吃第{i}个苹果")# break 和 continue区别,break是终止所有循环,continue是跳出本次循环
四:for循环
# 循环打印 Hello Python 每个单词# 123456
str1 ="Python"print(str1[3])# i 是临时变量,用来取值for i in str1:print(i)'''
随堂练习
1、while循环去除y和o,打印出来
'''print("===========================")
j =0while j <6:if j ==1or j ==4:print(str1[j])
j +=1print("===========================")# 使用for循环 打印 James 跳过mfor i in"James":if i =="m":continueprint(i, end=' ')
五:猜拳游戏
'''
石头(1) 剪刀(2) 布(3)
电脑赢:1-2, 2-3, 3-1
平局: 1-1 2-2 3-3
我赢: 1-3 2-1 3-2
'''print("猜拳游戏开始!")import random
user =int(input("请输入猜拳数字:石头(1) 剪刀(2) 布(3)"))# computer 是一个int类型
computer = random.randint(1,3)print(computer,"-", user)if user == computer:print("平局")elif(computer ==1and user ==3)or(computer ==2and user ==1)or(computer ==3and user ==2):print("我赢了")else:print("电脑赢了")
六:range的用法
i =1while i <=5:print(i)
i +=1print("=========================")for i inrange(1,6):print(i)'''
随堂练习
1、使用for循环打印
*
**
***
****
*****
2、使用for循环打印
*
***
*****
'''# 一print("一")for i inrange(1,6):print("*"* i)# 二print("二")for i inrange(1,6):if i %2==1:print("*"* i)
# 统计字符串次数 countfrom builtins importprint
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)
一:while循环# 实现while循环实现 0-100 相加i = 1sum = 0while i <= 100: sum = sum + i i += 1print(sum)'''第一次循环 i = 1, sum = 0, --> sum = sum + i = 0 + 1, sum = 1,i = 1第二次循环 sum = 1,i = 2,--> sum = sum + i = 1 + 2 = 3,sum = 3,i = 3第三次循环 sum =