# 想要多次重复执行某些操作# 想要遍历集合时候print("哈哈哈哈哈哈")print("哈哈哈哈哈哈")print("哈哈哈哈哈哈\n"*5)# 要考虑好循环的结束,修改条件、打断循环break
num =0
condition =Truewhile condition:print("hhh")
num +=1print(num)# 只要修改这个条件,下次就不会在执行if num ==10:
condition =False# 循环体内修改条件# 优化
num =0# condition = Truewhile num <10:print("hhh")
num +=1print(num)# 只要修改这个条件,下次就不会在执行# if num == 10:# condition = False # 循环体内修改条件# 计算1-10的数值总和
num =0
result =0while num <10:
num +=1
result += num
print(num)print("1-10累加和为:", result)# while-else连用# python语言中没有do-while循环
num =0
result =0while num <10:
num +=1print("num:", num)else:# 条件不满足print("最后num值", num)print("循环结束")
num =0
result =0while num <10:
num +=1print("num:", num)breakelse:# 条件不满足print("最后num值", num)print("循环结束")# break后,else也不执行 输出 num:1# for循环# for x in xxx# 循环语句# for主要应用场景遍历一个集合# 集合:字符串、列表# for x in xxx:# 当集合遍历完毕,循环结束
notice ="迎娶白富美,走上人生巅峰"for c in notice:print(c)
pets =["小白","小黑","小黄","小花"]for name in pets:print(name)# for-else连用
name ="我爱中国"for c in name:print(c)else:print("集合遍历结束")# for循环-反转字符串
notice ="迎娶白富美,走上人生巅峰"
result =""# 拆字# "" + "迎" ="迎"# "娶" + "迎" = "娶迎"for c in notice:
result = c + result
print(result)# 打印1-100之间的偶数# 函数 -> rangefor num inrange(1,101):if num %2==0:print(num,"是偶数")# 循环的打断-break & continue# break跳出整个循环,continue结束本次循环for i inrange(1,10):if i ==6:breakprint(i)# 1 2 3 4 5for i inrange(1,10):if i ==6:continue# 不打印6print(i)# 1 2 3 4 5 7 8 9 # 打断案列# 一个简单的加法器# 如果不退出程序,输出完毕之后,继续让用户使用# 如果中间用户输入数据有误,则给出错误提示,从头开始,让用户输入数据# 输入Q,退出# while True:# num1 = input("请输入第一个数值:")# num1 = float(num1)# num2 = input("请输入第二个数值:")# num2 = float(num2)# if num1 > 100 or num2 > 100:# print("你输入的数据有问题,请重新输入")# continue # 结束本次循环,重新开始# result = num1 + num2# print("两个数的和为:", result)# isQ = input("是否想要退出(q/Q:退出,其他:不退出继续)")# if isQ == 'q' or isQ == 'Q':# break
循环和分支的嵌套
# 循环和分支的嵌套# 打印1-100,3的倍数
numbers =range(1,101)#生成集合for number in numbers:if number %3==0:print("100以内3的倍数:", number)# 外层循环执行一次,内层循环全被执行for i inrange(1,3):for j inrange(1,8):print(j)# 九九乘法表# num = 9# nums = range(1, num + 1)for num inrange(1,10):
nums =range(1, num +1)for n in nums:print("%d * %d = %d"%(n, num, n * num), end="\t")# 用Tab缩进作为间隔符print(" ")# 默认换行# pass是空语句,不用做任何事情,一般做占位符,是为了保持程序结构的完整性
age =19if age >18:pass# 以后填充else:pass# 分支循环,综合案列# 3位数值,判断是否水仙花数# 验证是否三位数值# 1**3+5**3+3**3=153# while True:# # 让用户输入数据# num = input("请输入三位数值:")# num = int(num)# # 数据有效性验证# # print(len(num)) # 字符串长度# if not 100 <= num <= 999:# print("你输入的数据无效,直接退出程序")# exit()# # 分离个位数、十位数、百位数# n1 = num // 100 # 百位数# n2 = num % 100 // 10 # 十位数# n3 = num % 10 # 个位数# # 判断是否是水仙花数# result = (num == n1 ** 3 + n2 ** 3 + n3 ** 3)# if result:# print("%d,是水仙花数" % num)# else:# print("%d,不是水仙花数" % num)# 给定一个数值,让用户猜,相等结束,不相等,大了还是小了# 准备数据import random
num = random.randint(200,1000)
count =0whileTrue:
count +=1# 先用户输入一个结果
result =input("请输入结果:")
result =int(result)# 进行比对# 相等,给出正确提示,结束程序if result == num:print("恭喜你,猜对了,答案就是%d,你总共猜了%d次"%(result, count))
exit()# 不相等,继续让用户猜# 如果大于,猜的数字太大了,应该小一点# 如果小于,猜的数字太小了,应该大一点elif result > num:print("你猜的数字太大了,应该小一点")else:print("你猜的数字太小了,应该大一点")