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

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-8
from __future__ import division   
#导入除法模块,是因为在python2.X的版本里,除法是整除,不会取到小数
chinese = input ("score1:")
math = input ("score2:")
english = input ("score3:")
avg = (chinese+math+english)/3
print "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=1

In [5]: b=1

In [6]: id(a)
Out[6]: 26836072

In [8]: id(b)
Out[8]: 26836072

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

#!/usr/bin/env python
#coding:utf-8
while 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/2
2.5

In [13]: print 5/2
2

In [14]: print 8//2
4

In [15]: print 2**3
8

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

In [16]: a =1; a+=3

In [17]: print a
4

In [18]: a =1; a-=1

In [19]: print a
0

In [22]: a =2; a*=8

In [23]: print a
16

In [24]: a =10; a/=2

In [25]: print a
5

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

In [26]: 1>2
Out[26]: False

In [27]: 1>2 == False
Out[27]: False

In [28]: (1>2) == False
Out[28]: True

2.5.数值类型
2.5.1. 整型,长整型
实例6.

In [29]: anInt = 12

In [30]: print type(anInt)
<type 'int'>

In [31]: aLong = 12L

In [32]: print type(aLong)
<type 'long>

#整型和长整型相加
In [33]: print type(anInt + aLong)
<type 'long'>

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

In [34]: aFloat = 12.34

In [35]: print type(aFloat)
<type 'float'>

In [36]: bFloat = 0.12E11

In [37]: print bFloat
12000000000.0

2.5.3 complex 复数型
实例8.

In [38]: aComplex = 2+3j

In [39]: print aComplex.real  #输出实部
2.0

In [40]: print aComplex.imag  #输出虚部
3.0

In [41]: print aComplex.conjugate()  #输出共轭复数
(2-3j)

In [42]: print type(aComplex)
<type 'complex'>

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

In [43]: print abs(-1)
1

In [44]: print coerce(1, 1.0)
(1.0, 1.0)

In [45]: print divmod(5, 2)
(2, 1)

In [46]: print pow(2,3)
8

In [47]: print round(2.456657,2)
2.46

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

#!/usr/bin/env python
#coding:utf-8
Year = 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-8
year = 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-8
import 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=1
b=2
Print 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-8
import time
start_time = time.time()
sum = 0
for i in range(2,10001,2):
    sum += i
print sum
end_time = time.time()
print  "run %s" % (end_time - start_time)

测试结果1:
python数据类型  循环语句 循环关键字

法二:

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

测试结果2:
python数据类型  循环语句 循环关键字

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

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

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值