Python入门篇-基础语法
html
做者:尹正杰python
版权声明:原创做品,谢绝转载!不然将追究法律责任。git
一.编程基础算法
1>.程序编程
一组能让计算机识别和执行的指令。数组
程序 1>.算法+ 数据结构= 程序 2>.数据一切程序的核心 3>.数据结构是数据在计算机中的类型和组织方式 4>.算法是处理数据的方式,算法有优劣之分 写程序难点 1>.理不清数据 2>.不清处理方法 3>.没法把数据设计转换成数据结构,没法把处理方法转换成算法 4>.没法用设计范式来进行程序设计 5>.世间程序皆有bug,但不会debug
2>.电子计算机数据结构
可以执行程序的机器。架构
3>.现代计算机app
艾伦·麦席森·图灵(Alan Mathison Turing,1912年6月23日-1954年6月7日),出生于英国伦敦,毕业于普林斯顿大学,英国数学家、逻辑学家,被称为计算机科学之父,人工智能之父。图灵提出的著名的图灵机模型为现代计算机的逻辑工做方式奠基了基础。ide
冯·诺依曼(John von Neumann,1903~1957),出生于匈牙利,毕业于苏黎世联邦工业大学,数学家,被后人称为“计算机之父”和“博弈论之父”。
4>.冯·诺依曼体系架构
CPU由运算器和控制器组成。
运算器,完成各类算术运算,逻辑运算,数据传输等数据加工处理。
控制器,控制程序的执行。
存储器,用于记忆程序和数据,例如内存。
输入设备,将数据或者程序输入到计算机中,例如键盘,鼠标。
输出设备,将数据或程序的处理结果展现给用户,例如显示器,打印机等。
5>. 计算机语言
人与计算机之间交互的语言。
6>.机器语言
必定位数组成二进制的0和1的序列,称为机器指令。机器指令的集合就是机器语言。
与天然语言差别太大,难学、难懂、难写、难记、难查错。
7>.汇编语言
用一些助记符号替代机器指令,称为汇编语言。ADD A,B 指的是将寄存器A的数与寄存器B的数相加获得的数放到寄存器A中。
汇编语言写好的程序须要汇编程序转换成机器指令。
汇编语言只是稍微好记了些,能够认为就是机器指令对应的助记符。只是符号自己接近天然语言。
二.语言分类
1>.低级语言
面向机器的语言,包括机器语言、汇编语言
不一样的机器不能通用,不一样的机器须要不一样的机器指令或者汇编程序
2>.高级语言
接近人类的天然语言和数学语言的计算机语言。
高级语言首先要书写源程序,经过编译程序把源程序转换成机器指令的程序。
1954年正式发布的Fortran语言是最先的高级语言,本意是公式翻译
人们只须要关心怎么书写源程序,针对不一样机器的编译的事交给编译器关心处理
3>.低级语言到高级语言的区别
语言越高级,越接近人类的天然语言和数学语言。 语言越低级,越能让机器理解。 高级语言和低级语言之间须要一个转换的工具:编译器、解释器。 C、C++等语言的源代码须要本地编译。 Java、Python、C#的源代码须要被解释器编译成中间代码(Bytecode),在虚拟机上运行。
4>.编译语言和解释器语言的区别
编译语言:
把源代码转换成目标机器的CPU指令,便可以直接执行,速度快。
解释语言:
解释后转换成字节码,运行在虚拟机上,解释器执行中间代码,即边解释边执行,速度慢。
5>.高级语言的发展
非结构化语言 1>.编号或标签、GOTO,子程序能够有多个入口和出口 2>.有分支、循环 结构化语言 1>.任何基本结构只容许是惟一入口和惟一出口 2>.顺序、分支、循环,废弃GOTO 面向对象语言 1>.更加接近人类认知世界的方式,万事万物抽象成对象,对象间关系抽象成类和继承 2>.封装、继承、多态 函数式语言 1>.古老的编程范式,应用在数学计算、并行处理的场景。引入到了不少现代高级语言中 2>.函数是“一等公民”,高阶函数
三.Python解释器
官方CPython
C语言开发,最普遍的Python解释器
IPython
一个交互式、功能加强的Cpython
PyPy
Python语言写的Python解释器,JIT技术,动态编译Python代码
Jython
Python的源代码编译成Java的字节码,跑在JVM上
IronPython
p 与Jython相似,运行在.Net平台上的解释器,Python代码被编译成.Net的字节码
四.基础语法
1>.注释
#!/usr/bin/env python #_*_coding:utf-8_*_ #@author :yinzhengjie #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/ #EMAIL:y1053419035@qq.com
''' 这是注释代码! 该注释是用来解释某个函数或者类的功能时,一行说明不了须要多行进行注释时使用 '''
""" 这是注释代码! 该注释是用来解释某个函数或者类的功能时,一行说明不了须要多行进行注释时使用 """
2>.数字
一.整数 不区分long和int。 进制有不一样的表示形式:0xa,0o10,0b10 布尔值(bool):2个值True和False 二.浮点数 如3.1415926,9.18等等。 三.复数 1+2j
3>.字符串
使用' " 单双引号引用的字符的序列. '''和""" 单双三引号,能够跨行、能够在其中自由的使用单双引号. 在字符串前面加上r或者R前缀,表示该字符串不作特殊的处理.
4>.转义序列
\\, \t, \r, \n, \', \", 前缀r,把里面的全部字符当普通字符对待
5>.缩进
未使用C等语言的花括号,而是采用缩进的方式表示层次关系。
咱们在开发者推荐约定使用4个空格缩进。
6>.续行
在行尾使用 “\”
若是使用各类括号,认为括号内是一个总体,内部跨行不用 “\”
7>.标识符(能够理解是变量,常量等的统称)
1. 一个名字,用来指代一个值 2. 只能字母、下划线和数字 3. 只能以字母或下划线开头 4. 不能是python的关键字,例如def、class就不能做为标识符 5. Python是大小写敏感的 约定: 不容许使用中文 不容许使用歧义单词,例如class_ 在python中不要随便使用下划线开头的表示符
8>.常量
一旦赋值就不能改变值的标识符
python中没法定义常量
9>.字面常量
一个单独的量,例如十二、"abc" 、'2341356514.03e-9'
10>.变量
赋值后,能够改变值的标识符
五.Python的语言类型
Python是动态语言、强类型语言 静态编译语言 实现声明变量类型,类型不能再改变 编译时检查 动态编译语言 不用事先声明类型,随时能够赋值为其余类型 编程时不知道是什么类型,很难推断 强类型语言 不一样类型之间操做,必须先强制类型转换为同一类型。print('a'+1) 弱类型语言 不一样类型间能够操做,自动隐式转换,JavaScript中console.log(1+'a')
六.运算符(Operator)
1>.算术运算符
如下例子a = 10 , b= 20。
2>.比较运算符
如下例子a = 10 , b= 20。
3>.赋值运算符
4>.按位运算符(我们也能够称为“二进制运算符”)
咱们都知道,计算机处理数据的时候都会把数据最终变成0和1的二进制来进行运算,也就是说,计算机其实只认识0和1, 那按位运算其实就是把数字转换成二进制的形式后再进行位运算的。直接看例子,咱们设定a=60; b=13; 要进行位运算,就得把他们先转成2进制格式,那0和1是如何表示60和13的呢?
好,知道了10进制如何转2进制了以后,咱们接着来看,若是进行2个10进制数字的位运算。
看下面的运算过程:
5>.成员运算符
in not in
6>.身份运算符
is
is not
7>.运算符优先级,由低到高(了解便可,不用背下来)
算数运算符> 位运算符> 身份运算符> 成员运算符> 逻辑运算符
使用方法:
记不住,用括号
长表达式,多用括号,
易懂、易读
8>.三目运算符(三元运算符)
#!/usr/bin/env python #_*_coding:utf-8_*_ #@author :yinzhengjie #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/ #EMAIL:y1053419035@qq.com # #输入两个数,比较大小后,从小到大升序打印 num_1 = int(input("请输入第一个数字:>>> ")) num_2 = int(input("请输入第二个数字:>>> ")) # if num_1 > num_2: # print(num_2,num_1) # else: # print(num_1,num_2) """ Python没有三目运算符,但提供了: 真值 if 条件 else 假值 接下来咱们将上面4行代码使用Python中的三目运算符实现,上面4行就能够简写为一行啦!功能能实现,就是可读性较差哟! """ print(num_2,num_1) if num_1 > num_2 else print(num_1,num_2)
9>.博主强烈推荐阅读
推荐一:https://www.cnblogs.com/yinzhengjie/p/8666354.html(原码反码补码)
推荐二:https://www.cnblogs.com/yinzhengjie/p/8656833.html(进制转换)
推荐三:https://www.cnblogs.com/yinzhengjie/p/8679721.html(算术运算符,Arithmetic Operators)
推荐四:https://www.cnblogs.com/yinzhengjie/p/8681000.html(比较运算符,Compare Operators)
推荐五:https://www.cnblogs.com/yinzhengjie/p/8688081.html(逻辑运算符,Logic Operators)
推荐六:https://www.cnblogs.com/yinzhengjie/p/8688553.html(赋值运算符Assignment Operators与条件运算符Condition Operators)
推荐七:https://www.cnblogs.com/yinzhengjie/p/8688845.html(字符串链接运算符String link operator)
推荐八:https://www.cnblogs.com/yinzhengjie/p/8689059.html(位运算符Bitwise Operators)
七.内存管理
变量无须事先声明,也不须要指定类型 动态语言的特性 编程中通常无须关心变量的存亡,也不用关心内存的管理 python使用引用计数记录全部对象的引用数 当对象引用数变为0,它就能够被垃圾回收GC 计数增长:赋值给其它变量就增长引用计数,例如x=3;y=x 计数减小: 函数运行结束时,局部变量就会被自动销毁,对象引用计数减小 变量被赋值给其它对象。例如x=3;y=x;x=4 有关性能的时候,就须要考虑变量的引用问题,可是该释放内存,仍是尽可能不释放内存,看需求
八.程序控制
1>.程序控制概述
一.顺序
按照前后顺序一条条执行
例如,先洗手,再吃饭,再洗碗
二.分支
根据不一样的状况判断,条件知足执行某条件下的语句
例如,先洗手,若是饭没有作好,玩游戏,若是饭作好了,就吃饭,若是饭都没有作,叫外卖
三.循环
条件知足就反复执行,不知足就不执行或再也不执行
例如,先洗手,看饭好了没有,没有好,一会来看一次是否好了,一下子来看一次,直到饭好了,才但是吃饭。这里循环的条件是饭没有好,饭没有好,就循环的来看饭好了没有。
2>.真值表
False等价布尔值,至关于bool(value) 空集合 空字符串 空字典 列表 空元祖 one对象 0
3>.单分支结构
if语句 if condition: 代码块 condition必须是一个bool类型,这个地方有一个隐式转换bool(condition) 代码块 相似于if语句的冒号后面的就是一个语句块 在if、for、def、class等
#!/usr/bin/env python #_*_coding:utf-8_*_ #@author :yinzhengjie #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/ #EMAIL:y1053419035@qq.com zhangshan_age = 28 lisi_age = 20 if zhangshan_age > lisi_age: print("张三年龄比李四大")
#!/usr/bin/env python #_*_coding:utf-8_*_ #@author :yinzhengjie #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/ #EMAIL:y1053419035@qq.com num_01 = int(input("请输入第一个数:>>> ")) num_02 = int(input("请输入第二个数:>>> ")) if num_01 > num_02: print("两次输入,最大的数字是:",num_01) else: print("两次输入,最大的数字是:", num_02)
3>.多分支结构
if...elif...else语句 if condition1: 代码块1 elif condition2: 代码块2 elif condition3: 代码块3 ...... else: 代码块
#!/usr/bin/env python #_*_coding:utf-8_*_ #@author :yinzhengjie #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/ #EMAIL:y1053419035@qq.com Academic_record = int(input("请输入你的学习成绩:>>> ")) if Academic_record == 100: print("满分!") elif Academic_record >= 90: print("优秀!") elif Academic_record >=80: print("良好!") elif Academic_record >=70: print("通常!") elif Academic_record >= 60: print("及格!") else: print("你得加油啦!")
#!/usr/bin/env python #_*_coding:utf-8_*_ #@author :yinzhengjie #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/ #EMAIL:y1053419035@qq.com number = int(input("请输入一个不超过5位的正整数:>>> ")) if number >=100000: print("对不起,您输入的参数不合法!") else: if number >= 1000: if number >= 10000: print("您输入的是五位数") else: print("您输入的四位数") else: if number >= 100: print("您输入的是三位数") elif number >= 10: print("您输入的是二位数") else: print("您输入的是一位数")
4>.while循环
while condition: block 当条件知足即condition为True,进入循环体,执行block
#!/usr/bin/env python #_*_coding:utf-8_*_ #@author :yinzhengjie #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/ #EMAIL:y1053419035@qq.com flag = 100 while flag: if flag % 2 != 0: print(flag) flag -= 1
5>.for循环
for element in iteratable: block 当可迭代对象中有元素能够迭代,进入循环体,执行block
#!/usr/bin/env python #_*_coding:utf-8_*_ #@author :yinzhengjie #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/ #EMAIL:y1053419035@qq.com for item in range(100): if item % 2 != 0: print(item)
#!/usr/bin/env python #_*_coding:utf-8_*_ #@author :yinzhengjie #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/ #EMAIL:y1053419035@qq.com for item in range(100): if not item % 2: print(item)
6>.continue语句
#!/usr/bin/env python #_*_coding:utf-8_*_ #@author :yinzhengjie #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/ #EMAIL:y1053419035@qq.com # for item in range(0,100,2): # print(item) for item in range(0,100): if item & 1: continue print(item)
7>.break语句
#!/usr/bin/env python #_*_coding:utf-8_*_ #@author :yinzhengjie #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/ #EMAIL:y1053419035@qq.com count = 0 # 计算1000之内的被7整除的前20个数(for循环) for item in range(0,1000,7): print(item) count += 1 if count >= 20: break
continue和break是循环的控制语句,只影响当前循环,包括while、for循环 若是循环嵌套, continue和break也只影响语句所在的那一层循环 continue和break 不是跳出语句块,因此if condition: break 不是跳出if,而是终止if外的break所在的循环
8>.循环else子句
while condition: block else: block for element in iteratable: block else: block 若是循环正常的执行结束,就执行else子句;若是使用break终止,else子句不会执行
十.练习案例(尽可能全部程序本身能实现,不能实现的要求能写出思路或者伪代码!若是你以为困难就对了,说明你已经在努力啦!)
1>.给定一个不超过5位的正整数,判断该数的位数,依次打印出个位、十位、百位、千位、万位的数字.
2>.给定一个不超过5位的正整数,判断该数的位数,依次从万位打印到个位的数字
3>.打印一个边长为n的正方形
4>.求100内全部奇数的和(2500)
5>.判断学生成绩,成绩等级A~E。其中,90分以上为'A',80~89分为'B',70~79分为'C',60~69分为'D',60分如下为'E'
6>.求1到5阶乘之和
7>.给一个数,判断它是不是素数(质数,一个大于1的天然数只能被1和它自己整除)
8>.打印九九乘法表
#!/usr/bin/env python #_*_coding:utf-8_*_ #@author :yinzhengjie #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/ #EMAIL:y1053419035@qq.com #打印九九乘法表 for i in range(1,10): for j in range(1,i+1): print("{} * {} = {}".format(i,j,(i*j)),end="\t") print()
#!/usr/bin/env python #_*_coding:utf-8_*_ #@author :yinzhengjie #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/ #EMAIL:y1053419035@qq.com #打印九九乘法表 i = 1 while i < 10: j = 1 while j < 10: if i >= j: print('%d x %d = %d'%(i,j,(i*j)), end="\t") j += 1 i += 1 print()
#!/usr/bin/env python #_*_coding:utf-8_*_ #@author :yinzhengjie #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/ #EMAIL:y1053419035@qq.com #倒着打印九九乘法表 for i in range(1,10): for item in range(i): print(" " * 12,end=" ") for j in range(i,10): print("{} x {} = {:<4}".format(i,j,i*j),end=" ") print()
#!/usr/bin/env python #_*_coding:utf-8_*_ #@author :yinzhengjie #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/ #EMAIL:y1053419035@qq.com #倒着打印九九乘法表 for i in range(1,10): for j in range(1,10): if i > j : line = "{} {} {:<4}".format(" "," "," ") else: line = "{} x {} = {:<4}".format(i,j,i*j) print(line,end=" ") print()
#!/usr/bin/env python #_*_coding:utf-8_*_ #@author :yinzhengjie #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/ #EMAIL:y1053419035@qq.com #倒着打印九九乘法表 for i in range(1,10): print((i-1)*(" " * 14),end="") for j in range(i,10): print('%d x %d = %d' % (i, j, (i * j)), end=" ") if i * j < 10: print(end=" ") print()
#!/usr/bin/env python #_*_coding:utf-8_*_ #@author :yinzhengjie #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/ #EMAIL:y1053419035@qq.com #倒着打印九九乘法表 for i in range(1,10): print(' '* 7 * (i - 1),end="") for j in range(i,10): product = i * j if product < 10: end = ' ' else: end = ' ' print(str(i) + "*" + str(j) + "=" + str(i * j),end=end) print()
9>.打印以下图所示的菱形或闪电(典型的中心对称案例)
#!/usr/bin/env python #_*_coding:utf-8_*_ #@author :yinzhengjie #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/ #EMAIL:y1053419035@qq.com #打印菱形 display = "*" for item in range(1,8,2): print((display * item).center(7)) for item in reversed(range(1, 6, 2)): print((display * item).center(7))
#!/usr/bin/env python #_*_coding:utf-8_*_ #@author :yinzhengjie #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/ #EMAIL:y1053419035@qq.com #打印菱形 for i in range(-3,4): if i < 0: prespace = -i else: prespace = i print(" " * prespace + "*" * (7 - prespace * 2))
#!/usr/bin/env python #_*_coding:utf-8_*_ #@author :yinzhengjie #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/ #EMAIL:y1053419035@qq.com #打印闪电 for i in range(-3,4): if i < 0: print(" " * (-i) + "*" * (4 + i)) elif i > 0: print(" " * 3 + "*" * ( 4 - i)) else: print("*" * 5)
10>.求斐波那契数列第101项
#!/usr/bin/env python #_*_coding:utf-8_*_ #@author :yinzhengjie #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/ #EMAIL:y1053419035@qq.com a = 1 b = 1 index = 2 print("第0项是:{}".format(0,0)) print("第1项是:{}".format(1,1)) print("第2项是:{}".format(2,1)) while True: c = a + b a = b b = c index += 1 print("第{}项是:{}".format(index,c)) if index == 101: break
11>.打印10万内的全部素数(应用在密码学领域,都要使用大素数)
#!/usr/bin/env python #_*_coding:utf-8_*_ #@author :yinzhengjie #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/ #EMAIL:y1053419035@qq.com #打印10万内的全部素数 print(1) print(2) print(3) for i in range(3,100000,2): m = i ** 0.5 for j in range(3,i,2): if i %j == 0: break if j>m: print(i) break
#!/usr/bin/env python #_*_coding:utf-8_*_ #@author :yinzhengjie #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/ #EMAIL:y1053419035@qq.com #打印10万内的全部素数 num =100000 if num > 2: print(2) if num > 3: print(3) if num > 5: print(5) if num > 7: print(7) for num in range(11,num + 1,2): for i in range(3,int(num ** 0.5) + 1,2): if num % i == 0: break else: print(num)
#!/usr/bin/env python #_*_coding:utf-8_*_ #@author :yinzhengjie #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/ #EMAIL:y1053419035@qq.com #打印10万内的全部素数 for i in range(2,10000): for j in range(2,i): if i % j == 0: break else: print(i)
#!/usr/bin/env python #_*_coding:utf-8_*_ #@author :yinzhengjie #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/ #EMAIL:y1053419035@qq.com #打印10万内的全部素数 import time start = time.clock() for i in range(1,100000,2): if i % 3 == 0: continue if i % 5 == 0: continue for j in range(7,int(i ** 0.5) + 1,2): if i % j == 0: continue print(i) end = time.clock() print(end - start)
#!/usr/bin/env python #_*_coding:utf-8_*_ #@author :yinzhengjie #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/ #EMAIL:y1053419035@qq.com #打印10万内的全部素数 import datetime start =datetime.datetime.now() for i in range(1,100000,2): if i % 3 == 0: continue if i % 5 == 0: continue for j in range(7,int(i ** 0.5) + 1,2): if i % j == 0: continue print(i) end = datetime.datetime.now() print(end - start)
12>.输入两个数,比较大小后,从小到大升序打印
#!/usr/bin/env python #_*_coding:utf-8_*_ #@author :yinzhengjie #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/ #EMAIL:y1053419035@qq.com #输入两个数,比较大小后,从小到大升序打印 num_1 = int(input("请输入第一个数字:>>> ")) num_2 = int(input("请输入第二个数字:>>> ")) if num_1 > num_2: print(num_2,num_1) else: print(num_1,num_2)
13>.给一个半径,求圆的面积和周长(圆周率咱们取值为3.14)。
#!/usr/bin/env python #_*_coding:utf-8_*_ #@author :yinzhengjie #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/ #EMAIL:y1053419035@qq.com #给定一个半径,求圆的面积和周长,圆周率为3.14 r = int(input("请输入圆的半径:>>> ")) PI = 3.14 Perimeter = 2 * PI * r Area = PI * r ** 2 print("您输入的圆半径为:{},其周长为:{},其面积为:{}".format(r,Perimeter,Area))
14>.输入n个数,求每次输入后的算数平均数。
#!/usr/bin/env python #_*_coding:utf-8_*_ #@author :yinzhengjie #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/ #EMAIL:y1053419035@qq.com #输入n个数,求每次输入后的算数平均数 input_count = 0 sum = 0 while True: nums = input("请输入一个整数:>>> ") if nums == "quit": break if nums.isdigit(): input_count += 1 sum += int(nums) avg = sum / input_count print("算数平均数为:{}".format(avg))
#!/usr/bin/env python #_*_coding:utf-8_*_ #@author :yinzhengjie #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/ #EMAIL:y1053419035@qq.com #输入n个数,求每次输入后的算数平均数 Flag = True NumberMembers = [] while Flag: nums = input("请输入一个整数:>>> ") if nums == "quit": Flag = False if nums.isdigit(): NumberMembers.append(nums) NumberSum = 0 for item in NumberMembers: NumberSum += int(item) NumberAvg = NumberSum / NumberMembers.__len__() print("目前已经存在的数字是:{},算数平均数为:{}".format(NumberMembers, NumberAvg))
15>.解决猴子吃桃问题(猴子第一天摘下若干个桃子,立即吃了一半,还不过瘾,有多吃了一个。次日早上又将剩下的桃子吃掉一半,又多吃了一个。之后天天早上都吃了前一天剩下的一半零一个。到第10天早上想吃时,只剩下一个桃子了。求第一天共摘了多少个桃子。)
#!/usr/bin/env python #_*_coding:utf-8_*_ #@author :yinzhengjie #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/ #EMAIL:y1053419035@qq.com #解决猴子吃桃的问题 peach = 1 for i in range(9): peach = 2 * (peach + 1) print("猴子第一天共摘了[{}]个桃子".format(peach))