|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
问题:不明白为什么'%d'%i end="就可以print出输入的数=x1*x2... 其实就是没看懂三个print后面的意义····· 而且每一次循环都有不同的i 而每一次print都只能print一个i 不明白怎么做到比如 333=3*3*37(这里连续乘了好几个"i")
while 1:
n = int(input('请输入一个整数:'))
print('%d='%n,end='')
while n>1:
for i in range(2,n+1):
if n%i==0:
n=int(n/i)
if n==1:
print('%d'%i,end='')
else:
print('%d*'%i,end='')
break
print()
输入333
第一步:3是333的因子 ---> 333 = 3*111(此时n变为111,打印3*)
第二步:3是111的因子 ----> 111 = 3*37(此时n变为37,打印3*)
三: 1是37的因子(37是素数,此时n变为1) ----> 打印37(,因为n是一,因此最后一个因子末尾没有乘号)
得到结果333=3*3*37
- while 1:
- n = int(input('请输入一个整数:'))
- print('%d='%n,end='')
- while n>1:
- for i in range(2,n+1):
- if n%i==0: #判断i是否是n的因子
- n=int(n/i) #如果i是n的因子,求n除因子i后的商
- if n==1: #再继续判断该商是否有其他因子,直到该因子为一
- print('%d'%i,end='')
- else:
- print('%d*'%i,end='')
- break
复制代码
|
|