【python】编程语言入门经典100例--14

简介:

  1 #题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。


代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
   2  import  pdb
   3  tmp  =  int ( input ( '请输入一个正整数:' ))
   4  print ( '%d=' % tmp,end  =  '')
   5 
   6  =  2
   7  li  =  []
   8  #pdb.set_trace()
   9  while  i >  1 :
  10      if  tmp % = =  0 :
  11          tmp  =  tmp / i
  12          li.append(i)
  13          =  1
  14          if  tmp  = =  1 :
  15              =  0
  16      + =  1
  17  for  in  li[: len (li) - 1 ]:
  18      print ( '%d*' % x,end = '')
  19  print (li[ - 1 ])
~


运行结果:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@HK code_100] # python code_14.py 
请输入一个正整数: 1000
1000 = 2 * 2 * 2 * 5 * 5 * 5
[root@HK code_100] # python code_14.py 
请输入一个正整数: 69873
69873 = 3 * 23291
[root@HK code_100] # python code_14.py 
请输入一个正整数: 208628064
208628064 = 2 * 2 * 2 * 2 * 2 * 3 * 3 * 724403
[root@HK code_100] # python code_14.py 
请输入一个正整数: 90
90 = 2 * 3 * 3 * 5
[root@HK code_100] # python code_14.py 
请输入一个正整数: 879236872432
879236872432 = 2 * 2 * 2 * 2 * 17099 * 3213773
[root@HK code_100] #


代码解释:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
   2  import  pdb
   3  tmp  =  int ( input ( '请输入一个正整数:' ))     #接收输入数字,并转换成int模式
   4  print ( '%d=' % tmp,end  =  '')                  #格式化输出
   5 
   6  =  2                                     #求质数从2开始除
   7  li  =  []                                     #定义一个空的列表
   8  #pdb.set_trace()
   9  while  i >  1 :                               #开启while循环
  10      if  tmp % = =  0 :                         #这个数字从2开始做除法,如果余数为0说明,这个数就是tmp的质数
  11          tmp  =  tmp / i                         #tmp相应的获取除以后的值
  12          li.append(i)                         #将可以把tmp整除的数添加到列表li[]
  13          =  1                             #当有一个数字可以整除tmp时,将i重置重新开始循环
  14          if  tmp  = =  1 :                     #当tmp被除等于1时,说明tmp被除尽
  15              =  0                         #通过赋值i=0,结束while循环
  16      + =  1                             #每次计算后,i+1,依次进行除法测试,从2开始向后除,能够取到的数字应该都是质数,比方说,在除以4之前,一定可以被2整除,所以不会出现被非质数进行除的情况
  17  for  in  li[: len (li) - 1 ]:                 #遍历这个li列表的前n-1个数
  18      print ( '%d*' % x,end = '')                 #格式化输出这n-1个数
  19  print (li[ - 1 ])                         #格式化输出li的最后一个数,最后三行代码主要是要达到题目中li列表所有元素相乘的格式
~






      本文转自snc_snc 51CTO博客,原文链接:http://blog.51cto.com/netsyscode/1745973 ,如需转载请自行联系原作者





相关文章
|
29天前
|
Java Python 开发者
Python 学习之路 01基础入门---【Python安装,Python程序基本组成】
线程池详解与异步任务编排使用案例-xian-cheng-chi-xiang-jie-yu-yi-bu-ren-wu-bian-pai-shi-yong-an-li
77 2
Python 学习之路 01基础入门---【Python安装,Python程序基本组成】
|
1月前
|
存储 安全 API
【Python 基础教程 21】Python3 文件操作全面指南:从入门到精通的综合教程
【Python 基础教程 21】Python3 文件操作全面指南:从入门到精通的综合教程
82 0
|
2天前
|
Python
Python从入门到精通:深入学习面向对象编程——2.1.2继承、封装和多态的概念
Python从入门到精通:深入学习面向对象编程——2.1.2继承、封装和多态的概念
|
2天前
|
存储 索引 Python
Python从入门到精通——1.3.1练习编写简单程序
Python从入门到精通——1.3.1练习编写简单程序
|
2天前
|
开发框架 前端开发 数据库
Python从入门到精通:3.3.2 深入学习Python库和框架:Web开发框架的探索与实践
Python从入门到精通:3.3.2 深入学习Python库和框架:Web开发框架的探索与实践
|
2天前
|
数据采集 数据可视化 数据处理
Python从入门到精通的文章3.3.1 深入学习Python库和框架:数据处理与可视化的利器
Python从入门到精通的文章3.3.1 深入学习Python库和框架:数据处理与可视化的利器
|
2天前
|
Java 数据库连接 数据处理
Python从入门到精通:3.1.2多线程与多进程编程
Python从入门到精通:3.1.2多线程与多进程编程
|
2天前
|
存储 网络协议 关系型数据库
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
|
7天前
|
机器学习/深度学习 数据可视化 数据挖掘
《Python 简易速速上手小册》第9章:数据科学和机器学习入门(2024 最新版)
《Python 简易速速上手小册》第9章:数据科学和机器学习入门(2024 最新版)
19 1
|
7天前
|
人工智能 数据挖掘 程序员
《Python 简易速速上手小册》第1章:Python 编程入门(2024 最新版)
《Python 简易速速上手小册》第1章:Python 编程入门(2024 最新版)
35 0