python菜鸟教程100例-Python 练习实例14
#15
小天儿
102***9045@qq.com
14
使用 Python3 的参考解法:
#!/usr/bin/python3
x = int(input("是否进入循环?是:1, 否:0 "));
while(x):
n = int(input("请输入一个正整数:"));
print ("%d = " %n , end = '');
while n not in [1]:
for index in range(2, n+1):
if n % index == 0:
n = int(n/index);
if n == 1:
print("%d " %index , end = '');
else:
print("%d * " %index , end = '')
break;
print();
x = int(input("是否进入循环?是:1, 否:0 "));
输出测试如下所示:
是否进入循环?是:1, 否:0
1
请输入一个正整数:90
90 = 2 * 3 * 3 * 5
是否进入循环?是:1, 否:0
1
请输入一个正整数:100
100 = 2 * 2 * 5 * 5
是否进入循环?是:1, 否:0
0
小天儿
小天儿
102***9045@qq.com4年前 (2017-04-19)
#14
JohnLee
372***369@qq.com
14
使用 Python3 的参考解法:
#!/usr/bin/python3
def prime(n):
l = []
while n > 1:
for i in range(2, n + 1):
if n % i == 0:
n = int(n / i)
l.append(i)
break
return l
s = input("输入一个正整数:")
if s.isdigit() and int(s) > 0:
print(s, "=", "*".join([str(x) for x in prime(int(s))]))
else:
print("请输入正确的正整数")
JohnLee
JohnLee
372***369@qq.com4年前 (2017-04-19)
#13
Chivalry
825***501@qq.com
6
参考解法:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
input = int(raw_input("请输入要分解的正整数:"))
temp = []
while input!=1:
for i in range(2,input+1):
if input%i == 0:
temp.append(i)
input = input/i
break
print temp
Chivalry
Chivalry
825***501@qq.com4年前 (2017-04-25)
#12
Eric
382***115@qq.com
2
参考方案:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import math
l=[]
def resolve(num):
do=0
if num<1:
return
elif num==1:
l.append(num)
return
for i in range(2,int(math.sqrt(num))+1):
if num%i==0:
do=1
l.append(i)
num=num/i
resolve(num)
break
if do==0:
l.append(num)
num=int(raw_input())
resolve(num)
print l
print "%d ="%num,
for k in range(len(l)):
if k!=len(l)-1:
print "%d *"%l[k],
else:
print "%d" % l[k]
Eric
Eric
382***115@qq.com4年前 (2017-04-25)
#11
Kunz
sun***gup@163.com
3
我的貌似更简单更好理解一些:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
n=int(raw_input('Please input a number:'))
n1=n
l=[]
while n>1:
for i in range(2,n+1):
if n%i==0:
n=n/i
l.append(str(i))
break
print '%d=' %n1 + '*'.join(l)
Kunz
Kunz
sun***gup@163.com4年前 (2017-05-09)
#10
Almighty
132***9971@qq.com
1
Python3 参考方法:
#!/usr/bin/env python3
from math import sqrt
flag = 0
n = int(input("输入一个整数:"))
print("%d="%n,end="")
m = int(sqrt(n)) + 1
for j in range(n):
for i in range(2,m):
if n%i == 0:
if n == i:
flag = 1
print("%d"%i,end='')
else:
print("%d*"%i,end='')
n /= i
break
if flag == 1:
break
Almighty
Almighty
132***9971@qq.com3年前 (2017-05-29)
#9
Mark
104***7790@qq.com
0
Python3.6 这种写法能够运行更大的数字#!/usr/bin/python3
x=input("输入一个正整数:")
if x.isdigit() and int(x)>0:
x=int(x)
t,i=1,2
print(x,end="=")
while t>=0:
if x%i==0:
print(i,end="")
x/=i
t=x-i
if x!=1:
print("*",end="")
while x%i and x!=1:
i+=1
else:
print("请输入正确的正整数")
Mark
Mark
104***7790@qq.com3年前 (2017-06-27)
#8
CosmosHua
cos***cosmos@163.com
3
Python3简明解法:
def factor(n):
fac = []
hf = n//2
while n>1:
for i in range(2, hf+1):
if n%i == 0:
n //= i; fac.append(i); break
return fac
n = int(input("input a number: "))
print(n, "=", factor(n))
CosmosHua
CosmosHua
cos***cosmos@163.com3年前 (2017-07-11)
#7
kevinjin
314***1905@zju.edu.cn
1
参考方法:#!/usr/bin/python
# -*- coding: UTF-8 -*-
num=raw_input('输入一个整数: ')
num=int(num)
print '%d =' %num,
i=2
while i<=num:
if num%i==0:
if num==i:
print '%d' %i,
break
else:
num=num/i
print '%d *' %i,
else:
i+=1
kevinjin
kevinjin
314***1905@zju.edu.cn3年前 (2017-07-24)
#6
小差罗
675***527@qq.com
3
Python 3.x 下测试
办法比较蠢 但是挺好理解的吧循环次数不多,定义素数函数,能被素数整除就输出
import math
def isprime(num):
flag=1
for i in range(2,int(math.sqrt(num))+1):
if num%i==0:
flag=0
break
if flag:
return True
else:
return False
num=int(input('input a number:'))
print(num,'=',end='')
while(not isprime(int(num))):
for i in range(2,int(num)):
if num%i==0:
print(i,'*',end='')
num/=i
break
print(int(num))
小差罗
小差罗
675***527@qq.com3年前 (2017-09-12)
#5
大大大大大大大熊
382***076@qq.com
0
Python3 参考方法:
import math
print("请输入一个正整数:")
n = int(input())
if n <= 0:
print("请输入正整数")
i=2
if n!=1:
while i!=n:
if n % i == 0:
print(i)
n = n // i
else:
i+=1
print(i)
else:
print(n)
大大大大大大大熊
大大大大大大大熊
382***076@qq.com3年前 (2017-09-19)
#4
wuhangxiang
yef***yun241@foxmail.com
1
参考方法:#!/usr/bin/python
# -*- coding: UTF-8 -*-
n=2
def fenjie(num):
global n
while n<=num:
if n==num:
print n
break
elif n
print '%d*'%n,
num/=n
fenjie(num)
break
elif n
n+=1
fenjie(num)
break
number=input("input a number:")
print '%d='%number,
fenjie(number)
wuhangxiang
wuhangxiang
yef***yun241@foxmail.com3年前 (2017-10-24)
#3
Echo
csz***13@163.com
1
函数处理, 兼容 python2.x 与 python3.x#!/usr/bin/python
# -*- coding: UTF-8 -*-
num = int(input('请输入需要分解的数:'))
def fenjie(num):
strf = '{}='.format(num)
flag = True
while flag:
for i in range(2,num+1):
if not num%i:
if i==num:
flag = False
strf = strf + str(i)
else:
strf = strf + str(i) + '×'
num = num//i
break
return strf
print(fenjie(num))
Echo
Echo
csz***13@163.com3年前 (2017-12-05)
#2
阳光不锈
173***979@qq.com
0
Python3 下测试:
#生成器函数prime,返回一个质数生成器prime(),可以生成所有质数。
def prime():
i=2
while 1:
for j in range(2,i):
if i%j==0:
i+=1
break
else:
yield i
i+=1
k=int(input("是否进入循环?是:1, 否:0 "))
while k:
n=int(input('请输入一个大于1的正整数:'))
print(str(n)+'=',end='')
flag=1
while flag:
for i in prime():
if not n%i:
if i==n:
flag=0
print(i)
else:
print(str(i)+'*',end='')
n=n//i
break
print(' ')
k=int(input("是否进入循环?是:1, 否:0 "))
阳光不锈
阳光不锈
173***979@qq.com3年前 (2018-02-09)
#1
阳光不锈
173***979@qq.com
0
Python3: 使用一个生成器 f(x),生成整数 x 的所有质因数。代码如下:#isprime函数,x是素数返回1,不是返回0
def isprime(x):
for i in range(2,x):
if x%i==0:
return 0
else:
return 1
#生成器f(x),生成整数x的所有质因数
def f(x):
while not isprime(x):
for i in range(2,x):
if x%i==0:
x=x//i
yield i
break
yield x
k=int(input('是否继续求解?是:1, 否:0 '))
while k:
n=int(input('num:'))
print(str(n)+'=',end='')
s=''
for j in f(n):
s+=str(j)+'*'
print(s[:-1])
print()
k=int(input('是否继续求解?是:1, 否:0 '))
阳光不锈
阳光不锈
173***979@qq.com3年前 (2018-02-12)
python菜鸟教程100例-Python 练习实例14相关推荐
- python菜鸟教程100例-Python 基础教程 | 菜鸟教程
Python 基础教程 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言. Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年. 像P ...
- python菜鸟教程100例-Python 练习实例1
#16 zavier 126***0796@qq.com 49 使用列表形式,并计算总结: #!/usr/bin/python # -*- coding: UTF-8 -*- # 原答案没有指出三位数 ...
- python菜鸟教程100例-Python 练习实例4
#19 ym 853***877@qq.com 10 参考解法: #!/usr/bin/python # -*- coding: UTF-8 -*- year=int(raw_input(" ...
- python菜鸟教程100例-对菜鸟教程的Python一百例的个别改进
开篇语 好吧,其实是我小妹子Python公选课结课,所以我来帮忙做个大作业(简单到哭的大作业好吗?)!她的大作业就是老师把菜鸟教程的Python一百例扒下来做成文档,然后让学生自己找三个验证下!我们当 ...
- python菜鸟教程100实例-运维人员学习python菜鸟教程
这篇文章主要为大家详细介绍了运维人员学习python菜鸟教程,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 从不会写代 ...
- python菜鸟教程100实例-python菜鸟教程官网
广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 之后的某节会讲到如何给mac中的python安装其他模块,比如比较常用的numpy ...
- python趣味编程100例-Python趣味编程与精彩实例,码高少儿编程 编
1 Python基础知识OWa少儿编程网-Scratch_Python_教程_免费儿童编程学习平台 1.1 简介OWa少儿编程网-Scratch_Python_教程_免费儿童编程学习平台 1.2 诞生 ...
- python趣味编程100例-Python游戏趣味编程
书名:Python游戏趣味编程 定价:69.0 ISBN:9787115538246 作者:童晶 版次:第1版 出版时间:2020-07 内容提要: 本书把趣味游戏开发应用于Python编程教学,通过 ...
- python趣味编程100例-Python趣味编程100题
企业发放的奖金根据利润提成.利润(I)低于或等于 10万元时,奖金可提 10%:利润高于 10万元,低于 20 万元时,低于10 万元的部分按 10%提成,高于 10万元的部分,可提成 7.5%:20 ...
最新文章
- 你知道吗?du 和 df 的统计结果为什么不一样
- cpu的基本硬件组成
- ymodem协议c语言,STC单片机ISP-Demo-使用Y-Modem协议源码与库函数分享
- 音视频技术开发周刊 | 150
- 安装SCOM Reporting Server
- 源码与tarball套件管理程序笔记摘录
- pl/sql 中关于exception的学习笔记
- python db文件_python中查看.db文件中表格的名字及表格中的字段操作
- 2016年《大数据》杂志调查问卷
- linux ssh和sftp区别,Linux SSH和SFTP配置
- MR案例:输出/输入SequenceFile
- 每日一句090516
- 测试UDP端口是否通
- IE主页被篡改且无法修改解决方法
- 隔离变压器不触电原因
- Windows 10如何将网络图标放在桌面
- 国王的金币for循环
- 电商平台促销方式汇总
- 详细解析java JDBC实现增删改查
- 电脑是由哪几种设备组成的