每天学一点之Python100例(7~8)

每天学一点,形成一种知识复利

今天有点晚啊,昨天两牙大战精彩!!!

问题7:输出9 * 9口诀表
分析:99乘法表,得知共分为9行9列,可以想到通过2个for循环,打印出口诀表,设m为行,n为列
另外使用end = " "去除换行
demoCode:
#! /usr/bin/python3

def nineMultiTable():
for m in range(1,10):
for n in range(1,10):
print('%d*%d = %-3d' % (m,n,m*n),end=" ")
print()

nineMultiTable()

问题8:将一个正整数分解质因数。例如:输入60,打印出60 = 2*2*3*5
分析:先理解分解质因数,每个合数都可以写成几个质数相乘的形式,其中每个质数都是这个合数的因数,叫做这个合数的分解质因数。分解质因数只针对合数。
如何求一个分解质因数?
求一个数分解质因数,要从最下的质数除起,一直除到结果为质数为止。
第一肯定是用到了循环,第二质因数范围肯定在[2,输入的正整数],
第三先找出最小的质因数,第四如果某个正整数自己就是个质因数,则说明分解质因数结束
第五,假设正整数为m,n能被m整除,则打印出n,并且用m除以n的商作为新的m的值
第六,如果正整数不能被某个数整除,继续循环操作
#! /usr/bin/python3

def PrimeFactor():
input_num = int(input("please input a num:"))

if input_num < 2:
print("input error!!!")
else:
print("%d = "%input_num,end="")

for m in range(2, input_num + 1):
while(input != m):
if(input_num % m == 0):
print(m,end="")
input_num = input_num/m
if(input_num != 1):
print("*",end="")
else:
break;

print("")

PrimeFactor()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值