练习1.求1000以内所有的水仙花数
需求:求1000以内的所有的水仙花数
分析:它的每个位数上的数字的3次幂之和等于它本身
代码1:用if 单次判断
num = int(input("请输入一个1000以内的三位数,最小为100:"))
if 100< num <1000:
#求出对应的百位,十位,个位数字
#假设 x是百位数,y是十位数,z是个位数
x= num //100
y= (num-x*100) // 10
z= num % 10
if x**3+y**3+z**3 == num:
print(num,'是水仙花数')
else:
print(num,'不是水仙花数')
else:
print('输入的数字有误,请重新输入!')
代码2:用 while循环实现
num=100
while num<1000:
#求出对应的百位,十位,个位数字
#假设 x是百位数,y是十位数,z是个位数
x = num // 100
y= (num-x*100) // 10
z= num % 10
if x**3+y**3+z**3 == num:
print(num,'是水仙花数')
num +=1
练习2.求质数
需求:获取用户输入的任意数,判断是否是质数
分析:质数就是只能被1和它本身整除
代码:
# 让用户输入一个任意数字
num = int(input("请输入一个数字:"))
# 定义一个变量用来作余数的判断
i=2
# 定义一个标签用来标记是否是质数
flag=True
while i<num:
if num % i == 0:
flag=False
i+=1
if flag:
print('是质数')
else:
print('不是质数')
练习3.循环嵌套
需求:
循环嵌套---------------------------------------
在控制台输出图形,第一行输出一个,第二行输出二个,第n行输出n个
分析:通过2个循环嵌套打印输出
代码1:正序输出:
# 让用户输入一个数字,用来控制显示的行数
num=int(input('请输入一个数字,用来控制您要显示的行数:'))
# 定义一个变量,用来控制输出星星的个数
i=0
# 控制行数
while i<num:
j=0
# 控制每行输出的个数
while j<i+1:
print('*',end='')
j+=1
print()
i += 1
代码2:反序输出:
# 让用户输入一个数字,用来控制显示的行数
num=int(input('请输入一个数字,用来控制您要显示的行数:'))
# 定义一个变量,用来控制输出星星的个数
i=0
# 控制行数
while i<num:
j=0
# 控制每行输出的个数
while j<num-i:
print('*',end='')
j+=1
print()
i += 1
练习3.99乘法表
代码1:w