练习1:求1000以内的水仙花数
需求:求1000以内的所有水仙花数
分析:它的每位数的三次幂之和加起来等于它本身(例如:153 = 1** 3+5** 3+3**3)
练习2:求质数
需求:获取用户输入任意数,判断是否是质数(用户输入的数必须是大于1的数)
分析:质数只能被1和它本身整除
练习3:循环嵌套
需求:循环嵌套---------------------------------------
在控制台输出图形,第一行输出一个,第二行输出二个,第n行输出n个
分析:通过2个循环嵌套打印输出
练习4:99乘法口诀表打印
countinue控制语句 用来跳过当次循环,继续执行语句
break控制语句 可以立即退出循环语句(包括else语句)
练习5:猜数字游戏 随机1 - 10个数字,如果猜对正确,如果没有猜对错误
给用户9次机会,最终结果要求用户一次都猜不对
1 2 3 4 5 6 7 8 9 10 9次机会
思路:可以先拿到用户猜过的数字,我可以随机一个数字,去和用户猜过的数字作比对。如果这个循环的数字没有在用户猜过的数字当中。那么这个数字就是我们需要的答案
代码如下:
练习6:求100以内的质数
质数的第一次优化:
from time import *
# 获取程序开始的时间 经验 性能
start = time()
i = 2
while i <= 10000:
flag = True
j = 2
while j < i:
if i % j == 0:
flag = False
# 一旦进入判断证明i根本不是质数,所以内层循环根本没有必要继续执行
break
j += 1
if flag:
# print(i)
pass
i += 1
# 获取程序结束时间
end = time()
# 计算程序执行的时间
print('程序花费了:',end - start,'秒')
质数的第二次优化:
from time import *
# 获取程序开始的时间 经验 性能
start = time()
i = 2
while i <= 100000:
flag = True
j = 2
while j <= i ** 0.5:
if i % j == 0:
flag = False
# 一旦进入判断证明i根本不是质数,所以内层循环根本没有必要继续执行
break
j += 1
if flag:
# print(i)
pass
i += 1
# 获取程序结束时间
end = time()
# 计算程序执行的时间
print('程序花费了:',end - start,'秒')