02循环
""" 程序运行方式:判断语句 1.if 条件表达式: # 条件成立时(true)时 满足条件事件1 满足条件事件2 ... 2.if条件表达式1 or/and 条件表达式2...: # 多个条件判断 满足条件时的语句1 满足条件时的语句2 ... 3.if--else 条件成立时执行一些代码,条件不成立时执行另一些代码 if 条件表达式: 代码块1 # 条件成立时 else: 代码块2 # 条件不成立时 """ # score_01 = 90 # if score_01 >= 80: # 判断语句,表达式为True时才会执行以下语句 # print("您的成绩符合升班条件,可以升班") # print("您的考试成绩为:",score_01) # print("再接再厉") # print("程序结束了") # 跳出if,不受if判断的影响 # a = bool(60 >= 80) # bool()函数转换 # print(a) # if用于判断多重条件时,and or # month = 8 # date = 15 # if month == 8 and date == 15: # 条件成立时执行的 # print("今天是中秋节") # print("记得吃月饼啊") # print("还要赏月呀") # else: # 条件不成立时执行的 # print("今天不是中秋节") # print("不管是不是中秋节,都要吃饭") # time = 14.38 # type_1 = 1 # if time == 14.45 or type_1 == 1: # print("下课时间到了,或者有紧急情况需要处理,暂时离开教室") # else: # print("还没下课,敲代码,好好学习吧") # 用户登录,用户名,密码都正确,才能登陆 # user_name = "admin" # pass_word = "123" # user = input("请输入用户名") # word = input("请输入密码") # if user == user_name and word == pass_word: # print("用户名,密码正确,登陆成功。") # else: # print("用户名或者密码不正确,不能登录。") # ticket = 1 # 用1代表有车票,0代表没有车票 # if ticket == 1: # print("有车票,可以预定") # print("终于可以回家了,开心") # else: # print("没有车票,不能购买") # print("不能回家,难过") # rain = 0 # 下雨为1,不下雨为0 # sun = 1 # 紫外线强为1,紫外线弱为0 # if (rain == 1) or (sun == 1): # 两个表达式只要有一个符合,一个为真,就成立 括号可加可不加 # print("今天出门需要打伞") # else: # print("天气不错,不用带伞") # from inspect import k """ if...elif...elif...elif 星期一到星期日需要做的事情 """ # print("程序开始执行") # weekday = input("请输入今天星期几") # if weekday == "星期一": # print("升国旗") # print("第一周的开始,努力学习") # elif weekday == "星期二": # print("全天有课,还要上晚自习") # elif weekday == "星期三": # print("只上半天课,下午操场活动") # elif weekday == "星期四": # print("全天有课,还要上晚自习,但是明天就周五了") # elif weekday == "星期五": # print("今天周五了,不用上晚自习,啦啦啦") # elif weekday == "星期六": # print("今天周六了,在宿舍睡一天吧") # elif weekday == "星期日": # print("今天周日了,只能睡多半天,因为还要上晚自习") # # 如果输入了别的,应该怎么处理呢 # else: # print("输入错误") # print("程序执行结束") # 判断学生的成绩等级 # score = int(input("请输入学生的考试成绩:")) # if score >= 90 and score < 100: # print("成绩评定为A级") # elif 80 <= score < 90: # print("成绩评定为B级") # elif score >= 70 and score < 80: # print("成绩评定为C级") # elif score >= 60 and score< 70: # print ("成绩评定为D级") # else: # print("成绩没有及格,加油吧少年") """ if...else嵌套,可以嵌套多层 """ # # 后买火车票并且通过安检,才能顺利回家 # ticket = 1 # ticket为1代表有票,为0代表没有票 # knife_length = 4 # if ticket == 1: # print("抢到车票了,好开心") # if knife_length < 10: # print("顺利通过安检,可以上火车") # print("终于可以回家了") # else: # print("没有通过安检,不能把礼物送给爸妈") # print("等待警察叔叔处理") # else: # print("没有抢到车票,不能回家") # car_ticket = input("请输入汽车票信息:0代表没票,1代表有票:") # if car_ticket == "1": # input("...) "..." intinput("")数字多少。。 # print("买到了汽车票,可以回家,不容易呀") # else: # print("汽车票也卖完了,我太难了...") # if 缩进 # age = 4 # if age > 0 # print("小宝宝,开心玩吧") # if age >= 6: # print("该上小学了,好好学习呀") # else: # print("还没到上小学的年龄") # if-elif-else 语句 # print("程序开始") # age = 1.9 # if age >= 7: # print("您的年龄符合上学要求,可以入学") # elif age >= 3: # print("您的年龄符合上幼儿园要求,可以入学") # elif age >= 2: # print("您的年龄符合上托儿所的要求") # else: # print("您的年龄太小了,在家里玩耍吧") # print("程序结束") # if条件判断表达式 # age = 19 # is_grow = False # if age >= 18: # print("已成年") # is_grow = True # if is_grow == True: # print("可以进入网吧") # else: # print("未成年,不可以进网吧") # age = 19 # is_grow = True if age >= 18 else False # if条件表达式 # print("已成年,可以进入网吧") if is_grow else print("未成年,不能进入网吧") # while 循环 # 输出五行正三角形的星星 # 两层循环,外层循环行数,内层循环星星 # i = 1 # while i < 6: # j = 0 # while j < i: # print("*", end='') # j += 1 # print("") # i += 1 # # # 输出倒三角星星 # i = 5 # while i > 0: # j = 0 # while j < i: # print("*", end="") # j += 1 # print("") # i -= 1 # 循环嵌套 # 九九乘法表 # %d 字符串中的占位符,代表此处有一个十进制的整数 # print("...", end="")中的 end="" 代表语句结束不换行,print()默认换行 # print("") 代表什么都不输出,只换行 # i = 1 # while i <= 9: # j = 1 # while j <= i: # print(" %d * %d = %d" % (i, j, i * j), end="") # j += 1 # print("") # i += 1 """ for 循环 for 临时变量 in 可迭代对象(字符串,列表,元祖,字典): 代码块1 range(a,b) # 生成大于等于a,小于b的数字序列 """ # for 迭代字符串 # for temp in "北京": # print(temp, end="") # print("") # # for迭代列表 # for temp in {1, 2, 3, 4}: # print(temp) # 1-10之间整数的和 # i = 1 # sum_01 = 0 # while i <= 10: # print(i) # sum_01 += i # i += 1 # print(sum_01) # for循环 # sum_02 = 0 # for temp in range(1, 11): # print(temp) # sum_02 += temp # print(sum_02) # 九九乘法表 # i = 0 # for i in range(1, 10): # for j in range(1, i + 1): # print(" %d * %d = %d" % (i, j, i * j), end="") # print(i) # for i in range(1, 10): # for j in range(1, i+1): # print("%d * %d = %d" % (i, j, i * j), end="") # print("") # break 跳出结束当前循环,并结束循环 # continue 跳出本次循环,继续执行下一次循环 # words = "python" # for temp in words: # print("------") # if temp == "o": # break # 跳出,结束当前循环 # continue # 跳出结束本次循环,继续执行下次循环 # print(temp) # range(start,end,step) 生成一个数字序列n. start<=n<end # start如果缺省,默认为0 # step步长,如果缺省,默认为1 # range(5) 从0开始,每次+1,一直到4, 0--1--2--3--4 # for i in range(10,2,-1_): # 从10开始,到2+1结束,每次-1 # print(i) # range(1, 10, 2) # 步长为2. 1--3--5--7--9. # for temp in range(5): # temp += 1 # temp 0, +1,1; 1,+1,2; 2,+1,3 # if temp == 3: # # break # 结束整个循环 # continue # print(temp) # for循环实现: # 输出1-10之间的整数,除了6之外。continue # for i in range(1, 11): # if i == 6: # continue # print(i) # 猜数字,最多猜10次,如果用户猜对了,就结束循环 # guess = -1 # number_01 = 50 # for i in range(10): # guess = int(input("请输入你猜的数字:")) # if guess == number_01: # print("恭喜你,猜对了") # break # elif guess > number_01: # print("你猜的数字大了,请重新输入") # print("你还剩 %d 次机会" % (9-i)) # elif guess < number_01: # print("你猜的数字小了,请重新输入") # print("你还剩 %d 次机会" % (9-i)) # 简述break和continue语句的区别是什么? # 都用于循环中 # break跳出,结束当前循环 # continue跳出结束本次循环,继续执行下次循环 # 编写程序,实现用户登录,用户名、密码只能输错三次。用户名、密码正确才能登录。 # name = "12" # key = "12345" # 字符串需要加"" # for c in range(3): # b = input("请输入你得用户名") # d = input("请输入你的密码") # if b == name and d == key: # print("输入正确正在加载") # break # elif b != name or d != key: # print("用户名或密码输入错误") # print("你还有 %d 次机会" % (2-c)) # else: # print("输入错误已锁定") ''' x = True y = False z = False if x or y and z: # 优先级别:no--and--or print("yes") else: print("no") 7.编写程序,成绩划分为“优良可差”四档;判断某一成绩,属于哪一档,并输出结果; ''' # score_01 = int(input("请输入学生成绩")) # if score_01 >= 90: # print("优") # elif score_01 >= 80: # print("良") # elif score_01 >= 70: # print("可") # elif score_01 >= 60: # print("差") """ 编写程序,实现用户登录,用户名,密码只能输错三次。 用户名,密码正确才能登陆。 """ # user = "abc" # password = "123" # for i in range(3): # i的取值为:0,1,2, # user_name = input("请输入用户名:") # pass_word = input("请输入密码:") # if user_name == user and pass_word == password: # print("用户密码正确,登陆成功") # break # else: # print("用户名或密码错误,请重新输入,你还有%d次机会!" % (2 - i)) # user = "abc" # password = "123" # i = 1 # flag = 0 # 标志,跳出内层循环时,记录状态 # while i <= 3: # user_name = input("请输入用户名") # if user_name == user: # 用户名正确 # for j in range(3): # 0,1,2 # pass_word = input("请输入密码") # if pass_word == password: # print("登陆成功") # flag = 1 # break # 跳出for循环,并结束内层程序 # else: # print("密码输入错误,请重新输入,你还有%d次机会" % (2 - j)) # else: # 与for循环联用,当循环执行完后做的事 # print("密码输错三次,请重新输入用户名") # continue # if flag == 1: # break # 跳出while循环并结束程序 # else: # print("用户名错误,请重新输入,你还有%d次机会" % (3 - i)) # i += 1 # else: # print("用户名已输错三次,明日再来") ''' else语句可以和循环语句结合使用, 并且else语句只在循环完成后执行。 如果循环遇到break(意外结束,而不是正常结束)else就不会执行 ''' # count = 0 # while count < 5: # print(count,"is less than 5") # count += 1 # if count == 3: # 当count等于3 时,使用break结束循环 # break # /continue # else: # 当while循环正常结束时,才会被执行。while循环遇到break结束,此处的else不会执行、 # print(count, "is not less than 5") ''' pass 空语句,他是为了保持程序结构完整性 不作任何事情,用作占位 ''' # i = 0 # if i > 10: # pass # 占位,如果没有他,就不符合语法规范,解释器会报错 # else: # print("i小于10") # num = 111 # pw = 222 # for i in range(3): # a = int(input("请输入账号:")) # b = int(input("请输入密码:")) # if a == num and b != pw: # print("账号正确,密码错误!") # print("您还有 %d 次的机会。" % (2 - i)) # elif a != num and b == pw: # print("账号错误,密码正确!") # print("您还有 %d 次的机会。" % (2 - i)) # elif a != num and b != pw: # print("账号错误,密码错误!") # print("您还有 %d 次的机会。" % (2 - i)) # else: # print("输入正确。") # break # 编写程序,打印出所有的“水仙花数” 。所谓水仙花就是指一个三位数,其各个位上的数字的立方之和正好等于该数字本身。 # 参考答案: # for i in range(100, 1000): # a = int(i / 100) # 取出三位数的百位 # b = int(i / 10) % 10 # 取出三位数的十位 # c = i % 10 # 取出三位数的个数 # if i == a ** 3 + b ** 3 + c ** 3: # print(i) # # for i in range(100, 1000): # b = i // 100 # s = i // 10 % 10 # g = i % 10 # if b ** 3 + s ** 3 + g ** 3 == i: # print(i) # x = 10 # y = 20 # z = 30 # if x < y: # z = x # x = y # y = z # print(x, y, z)