博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python数据类型 循环语句 循环关键字
阅读量:7294 次
发布时间:2019-06-30

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

Python

一.Python简史
Python是一种面向对象,解释型计算机程序设计语言,由Guido Van Rossum于1989年发明,第一个公开发行版于1990年。2001年发布python2.0版本,2010年获年度Tiobe编程语言大奖,2013年发布python3.x版本。需要注意的是:python2.7是python2.x系列最后一个版本Python是纯粹的自由软件,源代码和解释器cpython遵循CPL(GUN General Public License)协议。Python语法简介清晰,特色之一是强制使用空白符(whilte space)作为语句缩进。Python具有强大和丰富的库,能够把其他语言制作的各种模块,(尤其是C/C++)很轻松连接在一块。
1.1Python主要特点:

  1. 简单
  2. 易学
  3. 免费,开源
  4. 高层语言
  5. 可移植性
  6. 解释性
  7. 面向对象
  8. 可扩展性
  9. 可嵌入性
  10. 丰富的库
  11. 规范的代码
    1.2.Python安装
    我们这里说的是linux下的安装,系统默认安装python,在Terminal中直接执行命令:python;
    这里我们可以看到系统默认安装的版本是python2.7.5
    python数据类型  循环语句 循环关键字

在python里没有自动补齐作用,我们可以安装ipython,其实现了自动补齐。Ipython是一个非常强大的python交互shell,通过它可以非常方便的开发,调试python。Ipython须从网上下载软件。对于ipython的安装这里我就不再细说了。

Pycharm
下载pychrm社区版本,安装使用。
1.21.Pycharm 中自动添加解释器及相关信息。
打开pycharm——> 选中 file中的setting——>选择Editor中file and code templates——> 选中python script然后再添加信息:
python数据类型  循环语句 循环关键字
添加完信息后保存。
以后我们的实验操作均会再pycharm中进行操作。
二.Python基本数据类型
2.1.输入输出
Print + 字符串.......
Raw_input输入的内容为字符类型;
Input 输入的内容为数值类型
测试练习1:求三门成绩的平均值:

#!/usr/bin/env python#coding:utf-8from __future__ import division   #导入除法模块,是因为在python2.X的版本里,除法是整除,不会取到小数chinese = input ("score1:")math = input ("score2:")english = input ("score3:")avg = (chinese+math+english)/3print "anverage score is %s" %(avg)

执行结果1:

python数据类型  循环语句 循环关键字

在往往求平均值时,我们通常只须保留两位小数,故我们要调整输出为:

print "anverage score is %.2f" %(avg)

调整后效果:

python数据类型  循环语句 循环关键字

调整后执行结果:

python数据类型  循环语句 循环关键字

块代码注释:三引号!/usr/bin/env python

#coding:utf-8
"""
行代码注释:# <快捷键:ctrl + / >

2.2.字符串的格式化符号:

%f 小数, 浮点数
%.2f 保留两位小数点的浮点数
%d ×××数
%s 字符串
%o 八进制
%x 十六进制
实例1:

  1. 生成×××数字,不够的部分用0填充:(这里是在shell终端中使用ipython操作)
    In [1]: "%.3d" %(1)Out[1]: '001'

    2.10代表生成字符串的宽度;

    In [2]: "%10.3d" %(1)Out[2]: '       001'

    3.显示字符串有%号需要转义;

    In [3]: "%.2f%%" %(30)Out[3]: '30.00%'

2.3. 变量

变量是内存中的一块区域
变量的命名:变量名由字母,数字,下划线组成;变量名只能以字母或者下划线开头;
Python中地址变量和c语言正好相反,一条数据包含多个标签:
实例2.

In [4]: a=1In [5]: b=1In [6]: id(a)Out[6]: 26836072In [8]: id(b)Out[8]: 26836072

测试练习:

输入变量名必须以字母或下划线开头,否则报错:

#!/usr/bin/env python#coding:utf-8while True:    s = raw_input("变量名:")    if s[0].isalpha() or s[0] == "_":        for i in s[1:]:            if i.isalnum() or i == "_":                continue            else:                print "%s 变量名不合法!Error: 变量名后面的字符" % (s)                break        else:            print "%s变量名合法" % (s)    else:        print "%s 变量名不合法! Error: 变量名第一个字符" % (s)

测试结果:

python数据类型  循环语句 循环关键字

2.4运算符和表达式

2.41.算术运算符:+,-,*,**, /, %, //
实例3.

In [12]: print 5.0/22.5In [13]: print 5/22In [14]: print 8//24In [15]: print 2**38

2.4.2.赋值运算符:=, +=, -=, /=, *=, %=

实例4.

In [16]: a =1; a+=3In [17]: print a4In [18]: a =1; a-=1In [19]: print a0In [22]: a =2; a*=8In [23]: print a16In [24]: a =10; a/=2In [25]: print a5

2.4.3.关系运算符: >, >=, <, <=, !=, ==

实例5.

In [26]: 1>2Out[26]: FalseIn [27]: 1>2 == FalseOut[27]: FalseIn [28]: (1>2) == FalseOut[28]: True

2.5.数值类型

2.5.1. 整型,长整型
实例6.

In [29]: anInt = 12In [30]: print type(anInt)
In [31]: aLong = 12LIn [32]: print type(aLong)
#整型和长整型相加In [33]: print type(anInt + aLong)

2.5.2.float 浮点型,类似于c语言中的double类型

实例7.

In [34]: aFloat = 12.34In [35]: print type(aFloat)
In [36]: bFloat = 0.12E11In [37]: print bFloat12000000000.0

2.5.3 complex 复数型

实例8.

In [38]: aComplex = 2+3jIn [39]: print aComplex.real  #输出实部2.0In [40]: print aComplex.imag  #输出虚部3.0In [41]: print aComplex.conjugate()  #输出共轭复数(2-3j)In [42]: print type(aComplex)

数值类型是不可变数据类型

In [43]: print abs(-1)1In [44]: print coerce(1, 1.0)(1.0, 1.0)In [45]: print divmod(5, 2)(2, 1)In [46]: print pow(2,3)8In [47]: print round(2.456657,2)2.46

测试练习2.

判断闰年?
分析:这个年份能被4整除但不能被100整除,或者能被400整除,那么就是闰年。

#!/usr/bin/env python#coding:utf-8Year = input ("year:")print (Year % 4 == 0 and Year % 100 != 0) or (Year % 400 == 0)

执行结果:

python数据类型  循环语句 循环关键字

2.6 if判断语句

Python中的判断语句:注意缩进
If 表达式:
If-suite

If 表达式:

If-suite
else:
else-suite

测试练习3.

用if语句判断闰年

#!/usr/bin/env python#coding:utf-8year = input ("year:")exp = (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)if exp == 1:        print "%s 是闰年" %(year)else:        print "%s 不是闰年" %(year)

测试结果:

python数据类型  循环语句 循环关键字

测试练习4.

用户登陆ATM系统

  1. 已知用户名和密码
  2. 判断用户和密码是否正确;
    如果正确,输出用户登陆成功;
    如果不正确,输出登陆失败;
#!/usr/bin/env python#conding = utf-8import getpass#数据库中存储的用户名和密码;user = "root"passwd = "redhat"username = raw_input("用户名:")password = getpass.getpass("密码:")if username == user and password == passwd:        print "%s 用户登陆成功!" %(user)        print """                        ATM 管理系统                1.取款                2.存款                3.余额查询                4.退出              """        choice = input("请输入您的选择:")        if choice == 1:                pass        elif choice == 2:                pass        elif choice == 3:                pass        elif choice == 4:                exit(0)        else:                print "请输入正确的选择!"else:        print "%s 用户登录失败!" %(username)

测试结果:

因为导入getpass模块,我们必须在终端进行测试:
python数据类型  循环语句 循环关键字

测试练习5:if_模拟三目运算符

三目运算符: a>b?a:b <注意:python不支持>

a=1b=2Print a if a>b else b

测试结果:

python数据类型  循环语句 循环关键字

while循环语句

while 表达式:
循环执行语句

while 表达式:

循环执行语句
else:
不符合循环条件执行的语句

死循环:

while True:
死循环的语句

while 1:

死循环的语句

测试练习6:

在测试练习4的基础上,使得用户登陆次数不超过三次,且不选择退出时,不退出登陆页面。

import getpass#数据库中存储的用户名和密码;user = "root"passwd = "redhat"#已登陆的次数;trycount = 0#登陆次数小于3,允许再次登陆;while trycount < 3:    print "%s次登陆........" %(trycount+1)    username = raw_input("用户名:")    password = getpass.getpass("密码:")    if username == user and password == passwd:        print "%s用户登陆成功!" % (username)        print  """                    ATM管理系统            1. 取款            2. 存款            3. 查询余额            4. 退出       """        while 1:            choice = input("请输入你的选择:")            if choice == 1:                print "取款"            elif choice == 2:                print "存款"            elif choice == 3:                print "查询余额"            elif choice == 4:                exit(0)            else:                print "请输入正确的选择!"    else:        print "%s 用户登陆失败!" % (username)    trycount += 1#登陆次数超过三次,报错;else:    print "登陆次数超过3次, waiting......"

测试结果:

因为导入getpass模块,我们必须在终端进行测试:
python数据类型  循环语句 循环关键字

测试练习7:

求(1 10000)内偶数之和,并计算时间戳。
法一:

#!/usr/bin/env python#coding:utf-8import timestart_time = time.time()sum = 0for i in range(2,10001,2):    sum += iprint sumend_time = time.time()print  "run %s" % (end_time - start_time)

测试结果1:

python数据类型  循环语句 循环关键字

法二:

#!/usr/bin/env python#coding:utf-8import timestart_time = time.time()i = 2evensum = 0while i<=10000:    evensum += i    i += 2print evensumend_time = time.time()print "run%s" %(end_time-start_time)

测试结果2:

python数据类型  循环语句 循环关键字

循环语句中的关键字:break , continue

break: 遇到这个关键字跳出当前循环;不再继续执行循环;

continue:遇到这个关键字跳出本次循环;

 

转载于:https://blog.51cto.com/12183531/2088209

你可能感兴趣的文章
JavaScriptSerializer 对json数据转换
查看>>
重裝系統,磁盤消失解決方法
查看>>
11.13. Highslide
查看>>
Visual Studio 11 Beta 带来新的Metro 应用开发体验
查看>>
最佳实践: 勿在 Servlet 中实现 SingleThreadModel
查看>>
IIS发生意外错误0x8ffe2740
查看>>
架构设计中服务层的简单理解
查看>>
一般的相关分析代码
查看>>
单片机系列学习
查看>>
[LeetCode] Combinations
查看>>
java中的几种对象(PO,VO,DAO,BO,POJO)
查看>>
HDOJ--4786--Fibonacci Tree【生成树】
查看>>
功能超级丰富的彩色贪吃蛇,有道具,有等级!
查看>>
angularjs之browserTrigger
查看>>
.net程序员面试考试题目
查看>>
1.3. redis-cli - Command-line client to redis-server
查看>>
两个平板打天下-将中国看做一个城市圈,漉战移动互联网、高铁时代
查看>>
Android 部分机型GridView四周默认间距
查看>>
在Html中使用Requirejs进行模块化开发
查看>>
7.7. 其他证书工具
查看>>