循环语句
while语句 1.作用: 可以让一段代码满足条件,重复执行。 2.语法: while 条件: 满足条件执行的语句 else: 不满足条件执行的语句 3.说明: else子句可以省略。 在循环体内用break终止循环时,else子句不执行。
""" while 循环 - 死循环 语法: while True: 循环体 if 退出条件: break 作用: 延长程序的生命周期 """ # 死循环 while True: sex = input("请输入性别:") if sex == "男": print("您好,先生") elif sex == "女": print("您好,女士") else: print("性别未知") if input("请输入q键退出:") == "q": break # 跳出循环循环计数
""" while 循环 - 循环计数 语法: count = 0 # 循环前 -- 开始值 while count < 5: # 循环条件 -- 结束值 循环体 count += 1 # 循环体 -- 间隔 作用: 固定次数的重复 """ # 执行5次 count = 0 while count < 5: # print("跑圈") print(count) count += 1 # 0 1 2 3 4for 语句 1.作用: 用来遍历可迭代对象的数据元素。 可迭代对象是指能依次获取数据元素的对象,例如:容器类型。 2.语法: for 变量列表 in 可迭代对象: 语句块1 else: 语句块2 3.说明: else子句可以省略。 在循环体内用break终止循环时,else子句不执行。 range 函数 1.作用: 用来创建一个生成一系列整数的可迭代对象(也叫整数序列生成器)。 2.语法: range(开始点,结束点,间隔) 3.说明: 函数返回的可迭代对象可以用for取出其中的元素 返回的数字不包含结束点 开始点默认为0 间隔默认值为
""" for 变量 in range(): 循环体 """ # 写法1:range(开始, 结束, 间隔) # 不包含结束值 for number in range(0, 5, 1): # 0 1 2 3 4 print(number) # 写法2:range(开始, 结束) # 间隔默认为1 for number in range(0, 5): # 0 1 2 3 4 print(number) # 写法3:range(结束) # 开始默认为0 for number in range(5): # 0 1 2 3 4 print(number)跳转语句 break 语句 1.跳出循环体,后面的代码不再执行。 2.可以让while语句的else部分不执行。 continue 语句 跳过本次,继续下次循环
""" 跳转语句 """ # # 需求:累加1-100之间所有的数字 # sum_value = 0 # for number in range(1, 101): # sum_value += number # print(sum_value) # 需求:累加1-100之间能被3整除的数字 # sum_value = 0 # for number in range(1, 101): # # 思想:满足条件 累加 # if number % 3 == 0: # sum_value += number # print(sum_value) # 1 2 3 4 5 .... sum_value = 0 for number in range(1, 101): # 思想:不满足条件 跳过 否则 累加 if number % 3 != 0: continue # 跳过本次循环,继续下次循环 # break # 跳出循环 sum_value += number print(sum_value) """ 小结 -- 语句 选择语句:有选择性的执行某些语句 if 条件: 语句 else: 语句 循环语句:重复执行某些语句 满足条件重复执行语句 while 条件: 语句 例如:纸张对折,直到超过珠穆朗玛峰. 获取容器中所有元素 for 变量 in 容器: 语句 例如:累加整数(字符串类型)每位 备注:数值类型不能参数for 固定次数循环 for 变量 in range(开始,结束,间隔): 语句 例如:累加某个范围内的数字 跳转语句 在循环中 break 跳出 continue 跳过 """编码的转换
""" 编码 """ # 字 --> 数 print(ord("我")) # 25105 # 数 --> 字 print(chr(25105)) # 我骰子游戏
# 赌大小游戏 # 玩家的身家初始10000,实现下列效果: # 少侠请下注: 30000 # 超出了你的身家,请重新投注。 # 少侠请下注: 8000 # 你摇出了5点,庄家摇出了3点 # 恭喜啦,你赢了,继续赌下去早晚会输光的,身家还剩18000 # 少侠请下注: 18000 # 你摇出了6点,庄家摇出了6点 # 打平了,少侠,在来一局? # 少侠请下注: 18000 # 你摇出了4点,庄家摇出了6点 # 少侠,你输了,身家还剩 0 # 哈哈哈,少侠你已经破产,无资格进行游戏 import random i=0 player_money = 10000 while True: if player_money > 0: import_money = int(input("少侠请下注:")) i+=1 if player_money >= import_money: player = random.randint(1, 6) bot = random.randint(1, 6) if player == bot: print("你摇出了" + str(player) + "点,庄家摇出了" + str(bot) + "点") print("打平了,少侠,再来一局?") continue elif player < bot: player_money -= import_money print("你摇出了" + str(player) + "点,庄家摇出了" + str(bot) + "点") print("少侠,你输了,身家还剩" + str(player_money)) continue else: player_money += import_money print("你摇出了" + str(player) + "点,庄家摇出了" + str(bot) + "点") print("恭喜啦,你赢了,继续赌下去早晚会输光的,身家还剩" + str(player_money)) continue else: print("超出了你的身家,请重新投注。") continue else: print("哈哈哈,少侠你已经破产,无资格进行游戏") print("一共玩了"+str(i)+"次") break小球下落
# 8.一个小球从100m高度落下,每次弹回原高度一半. # 计算: # -- 总共弹起多少次?(最小弹起高度0.01m) # -- 全过程总共移动多少米? number_of_times = 0 distance = 0 ball_star = 100 while True: ball_star /= 2 if ball_star > 0.01: number_of_times += 1 distance += ball_star * 2 continue else: break print("总共弹起" + str(number_of_times) + "次") print("全过程移动了:" + str(distance + 100))过股定理
# 勾股定理问题 # 在100数以内 有多少数字符合勾股定理 # 将这些数打印出来 for x in range(1, 101): for y in range(x, 101): for z in range(y, 101): if x ** 2 + y ** 2 == z ** 2: print(x, y, z)