博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python入门篇-基础语法
阅读量:6875 次
发布时间:2019-06-26

本文共 18390 字,大约阅读时间需要 61 分钟。

                    Python入门篇-基础语法

                                           作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

 

 

 

一.编程基础

1>.程序

  一组能让计算机识别和执行的指令。

程序1>.算法+ 数据结构= 程序2>.数据一切程序的核心3>.数据结构是数据在计算机中的类型和组织方式4>.算法是处理数据的方式,算法有优劣之分写程序难点1>.理不清数据2>.不清处理方法3>.无法把数据设计转换成数据结构,无法把处理方法转换成算法4>.无法用设计范式来进行程序设计5>.世间程序皆有bug,但不会debug

2>.电子计算机

  能够执行程序的机器。

3>.现代计算机

   (Alan Mathison Turing,1912年6月23日-1954年6月7日),出生于英国伦敦,毕业于,英国数学家、逻辑学家,被称为计算机科学之父,人工智能之父。图灵提出的著名的模型为现代计算机的逻辑工作方式奠定了基础。

   (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    一个交互式、功能增强的CpythonPyPy    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>.字面常量

一个单独的量,例如12、"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()

  推荐四:https://www.cnblogs.com/yinzhengjie/p/8681000.html()

  推荐五:https://www.cnblogs.com/yinzhengjie/p/8688081.html()

  推荐六:https://www.cnblogs.com/yinzhengjie/p/8688553.html()

  推荐七:https://www.cnblogs.com/yinzhengjie/p/8688845.html()

  推荐八:https://www.cnblogs.com/yinzhengjie/p/8689059.html()

 

七.内存管理

变量无须事先声明,也不需要指定类型    动态语言的特性编程中一般无须关心变量的存亡,也不用关心内存的管理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.comzhangshan_age = 28lisi_age = 20if 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.comnum_01 = int(input("请输入第一个数:>>> "))num_02 = int(input("请输入第二个数:>>> "))if num_01 > num_02:    print("两次输入,最大的数字是:",num_01)else:    print("两次输入,最大的数字是:", num_02)
输入2个数字,输出最大数案例

3>.多分支结构

if...elif...else语句if condition1:    代码块1elif condition2:    代码块2elif 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.comAcademic_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.comnumber = 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("您输入的是一位数")
给定一个不超过5位的正整数,判断其有几位(嵌套分支案例)

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.comflag = 100while flag:   if flag % 2 != 0:       print(flag)   flag -= 1
案例一(倒着打印100-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.comfor item in range(100):   if item % 2 != 0:       print(item)
案例一(正序打印1-100的奇数)
#!/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.comfor item in range(100):   if not item % 2:       print(item)
案例二(正序打印1-100的偶数)

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.comcount = 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所在的循环
循环continue、break语句总结

8>.循环else子句

while condition:    blockelse:    blockfor element in iteratable:    blockelse:    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()
使用for循环打印九九乘法表
#!/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 = 1while 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()
使用while循环打印九九乘法表
#!/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.coma  = 1b  = 1index = 2print("第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
打印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万内的所有素数num =100000if 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)
打印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万内的所有素数for i in range(2,10000):    for j in range(2,i):        if i % j == 0:            break    else:        print(i)
打印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万内的所有素数import timestart = 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)
打印10万内的所有素数(参考案例四,使用time模块计算运行时间)
#!/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 datetimestart =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)
打印10万内的所有素数(参考案例五,使用datatime模块计算运行时间)

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.14r = int(input("请输入圆的半径:>>> "))PI = 3.14Perimeter = 2 * PI * rArea = PI * r ** 2print("您输入的圆半径为:{},其周长为:{},其面积为:{}".format(r,Perimeter,Area))
给定一个半径,求圆的面积和周长,圆周率为3.14(参考答案)

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 = 0sum = 0while True:    nums = input("请输入一个整数:>>> ")    if nums == "quit":        break    if nums.isdigit():        input_count += 1        sum += int(nums)        avg = sum / input_count        print("算数平均数为:{}".format(avg))
输入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个数,求每次输入后的算数平均数Flag = TrueNumberMembers = []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))
入n个数,求每次输入后的算数平均数(参考案例二)

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 = 1for i in range(9):    peach = 2 * (peach + 1)print("猴子第一天共摘了[{}]个桃子".format(peach))
猴子第一天共摘了[1534]个桃子(点我查看计算代码)

 

转载于:https://www.cnblogs.com/yinzhengjie/p/10629645.html

你可能感兴趣的文章
用户体验评价
查看>>
redis
查看>>
jq 必用选择器的使用示例
查看>>
Linux设备管理(五)_写自己的sysfs接口
查看>>
Linux i2c子系统(三) _解决probe无法执行
查看>>
第九篇 消息通信模式(上) 请求应答与单向
查看>>
帧率与码率的概念
查看>>
Reactor模式
查看>>
java反射机制
查看>>
Android面试题
查看>>
【转】Sublime Text 2 - 简单介绍
查看>>
mongoose 小问题
查看>>
福大软工 · 第十一次作业 - Alpha 事后诸葛亮(团队)
查看>>
python爬虫笔记3
查看>>
Linux环境测试机器端口连通性
查看>>
关于Linux连接工具mobaxterm显示中文乱码问题
查看>>
iphone-common-codes-ccteam源代码 CCUILabel.h
查看>>
码农们:你属于哪一种极品程序员?
查看>>
【Daily】Javascript事件对象
查看>>
时间记录日志
查看>>