# Demo 1 # 求 1+2!+3!+...+20! 的和。 j = 1 sum_all = 0 while j <= 20: i = 1 sum = 1 while i <= j: sum *= i i += 1 # print(sum) sum_all += sum j += 1 print("1+2!+3!+...+20!的和是{}".format(sum_all)) sum = 1 ret_sum = 0 for i in range(1, 21): sum *= i ret_sum += sum print(ret_sum) """ # Demo 2 本金10000元存入银行,年利率是千分之三。 每过1年,将本金和利息相加作为新的本金。 计算5年后,获得的本金是多少? """ i = 0 money = 10000 while i < 5: money *= (1 + 0.003) i += 1 print("五年以后的本金是{:.2f}".format(money)) money = 10000 for i in range(1, 6): money *= (1 + 0.003) """ # Demo 3 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数, 其各个位上数字的立方和等于该数本身。例如:153是一个”水仙花数", 因为153=1的三次方+5的三次方+3的三次方。 """ num = 100 while num <= 999: if ((num // 100) ** 3 + (num % 100 // 10) ** 3 + (num % 10) ** 3) == num: print(num) num += 1 for i in range(100, 1000): if ((num // 100) ** 3 + (num % 100 // 10) ** 3 + (num % 10) ** 3) == i: print(num) # Demo 4 # 设计“过7游戏”的程序, 打印出1-100之间除了含7和7的倍数之外的所有数字 # i = 0 # while i <= 99: # i += 1 # if i % 7 == 0 or i % 10 == 7 or i // 10 == 7: # continue # else: # print(i) for i in range(1, 101): if i % 7 == 0 or i % 10 == 7 or i // 10 == 7: continue print(i) """ # Demo 5 使用while,完成以下图形的输出。(每一行的星星不能用*乘以星星的数量来完成,须使用while嵌套)(较难) * *** 行 列 变量保存应该有多少个* ***** ******* ********* ******* ***** *** * """ row = 1 count = 1 # 表示当前行数应该有多少个* while row <= 9: col = 1 if row != 1: if row < 6: count += 2 else: count -= 2 while col <= count: if col == 1: # 处理*前面的空格 print(" " * ((9 - count) // 2), end="") print("*", end="") col += 1 print("") row += 1 """ # Demo 6 使用while、if来完成剪刀石头布程序,要求, 当玩家第3次获胜时才退出游戏,否则继续玩。 """ import random # 获胜次数 win_times = 0 while True: player = int(input("请输入:剪刀(0) 石头(1) 布(2)")) computer = random.randint(0, 2) if (player == 0 and computer == 2) or (player == 1 and computer == 0) or (player == 2 and computer == 1): win_times += 1 if win_times == 3: print("你赢了三次了") break else: print("你赢了这局游戏") elif player == computer: print("平局,再来一次") else: print("你输了,不要走,决战到天亮") """ # Demo 7 幸运猜猜猜:游戏随机给出一个0~99(包括0和99)的数字,然后让你猜是什么数字。 你可以随便猜一个数字,游戏会提示太大还是太小,从而缩小结果范围。 经过几次猜测与提示后,最终推出答案。在游戏过程中,记录你最终猜对时所需要的次数, 游戏结束后公布结果。 说明: 1~2次猜中,打印你太TM有才了! 3~6次猜中,打印这么快就猜出来了,很聪明嘛! 大于7次猜中,打印猜了半天才猜出来,小同志,尚需努力啊! 猜测次数最多20次。 """ import random num = random.randint(0, 99) print(num) times = 0 while times <= 20: ges = int(input("请输入你猜的数字: ")) if ges > num: print("你猜的数太大了") times += 1 if times == 20: print("你都猜了20次了,还没猜中") break continue elif ges < num: print("你猜的数字太小了") times += 1 if times == 20: print("你都猜了20次了,还没猜中") break continue else: if 1 <= times <= 2: print("有才") elif 3 <= times <= 6: print("还可以") else: print("需要努力") print(num)
【python3】while和for的进阶案例
猜你喜欢
转载自www.cnblogs.com/liduo0413/p/10890895.html
今日推荐
周排行