首页 > 代码库 > python学习

python学习

python中的变量

变量的命名规则:

      1 变量名只能是 字母、数字或下划线的任意组合

      2 不能以数字开头

      3 不能是python的已用的变量名

      例如:[‘and‘, ‘as‘, ‘assert‘, ‘break‘, ‘class‘, ‘continue‘, ‘def‘, ‘del‘, ‘elif‘, ‘else‘, ‘except‘, ‘exec‘, ‘finally‘, ‘for‘, ‘from‘, ‘global‘, ‘if‘, ‘import‘, ‘in‘, ‘is‘, ‘lambda‘, ‘not‘, ‘or‘, ‘pass‘, ‘print‘, ‘raise‘, ‘return‘, ‘try‘, ‘while‘, ‘with‘, ‘yield‘]

变量赋值:

1
2
3
4
#!/usr/bin/env python
# -*- coding: utf-8 -*-
name1 = "zhangsan"
name2 = "licsi"

技术分享

1
2
3
4
5
#!/usr/bin/env python
# -*- coding: utf-8 -*-
 
name1 = "wupeiqi"
name2 = name1

技术分享

模块导入:

模块导入是大大简化你的程序的可读性。

比如 1.py

1
2
3
4
5
#!/usr/bin/env python
#_*_coding:utf-8_*_
 
import 2.py
print("hello")

而2.py

1
2
3
4
#!/usr/bin/env python
#_*_coding:utf-8_*_
 
print("world")

而执行python 1.py结果是

world

hello

大家看到了吧,import xxx.py 就是将这个文件的内容导入进来替换这个import行。

数据类型

按照特征划分

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
数字类型:
  整形:
     布尔型:True  False  必须大写第一个字母
     长整形:
     标准整形:
   
  非整型:
     双精度浮点型
     复数
     decimal(不是内建类型)
   
  序列类型:
     字符串:引号引起来的
     元祖:tuple 不可变
     列表:
   
  键值:
     字典:
   
  集合类型:
     可变集合
     不可变集合

按照可变性划分:

1
2
3
4
5
6
7
8
9
10
可哈希的不可变数据类型:
    数字类型
    不可变集合
    字符串
    元组
  
 可变数据类型
    字典
    列表
    可变集合

流程控制和缩进

技术分享

注释:if语句,当且仅当if后的条件为真时才会执行if条件下的代码块,

 if 多层判断

1
2
3
4
5
6
7
8
9
10
11
#!/usr/bin/env python
# _*_ coding:utf-8 _*_
 __author__ = ‘Administrator‘
 
inp = raw_input(">>>")
if inp == "1":
    print(‘1‘)
elif inp == "2":
    print(‘2‘)
else:
    print("other")

while 循环

while 条件:

     动作

当条件一旦满足就不会再执行动作

while的退出循环方法1

例子: 打印数字当数字为7 则退出循环

重点:利用了 flag的布尔类型来做赋值控制。

1
2
3
4
5
6
7
8
9
10
#!/usr/bin/env python
# _*_ coding:utf-8 _*_
 __author__ = ‘Administrator‘start = 1
flag = True
while flag:
    print(start)
    if start == 7:
        flag = False
start+=1
print("end")   

continue  break练习

continue 是跳出本次循环,继续下次循环

break是跳出本层循环

1
2
3
4
5
6
7
8
9
10
11
12
13
#!/usr/bin/env python
# _*_ coding:utf-8 _*_
__author__ = ‘Administrator‘
 
import time
i=0
while i<=10:
    time.sleep(0.1)
    i+=1
    if == 7:
        continue
    print i
print("end")
检测是否是跳出本层循环
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/usr/bin/env python
# _*_ coding:utf-8 _*_
__author__ = ‘Administrator‘
a=0
b=0
while a<10:
    while b<3:
        if b==2:
break
        b+=1
        print b
    a+=1
    print a

作业:

1
2
3
4
5
6
7
8
9
10
11
12
练习题
1、使用while循环输入 1 2 3 4 5 6     8 9 10
   
2、求1-100的所有数的和
   
3、输出 1-100 内的所有奇数
   
4、输出 1-100 内的所有偶数
   
5、求1-2+3-4+5 ... 99的所有数的和
   
6、用户登陆(三次机会重试)

num one

1
2
3
4
5
6
7
8
9
10
11
12
#!/usr/bin/env python
# _*_ coding:utf-8 _*_
__author__ = ‘Administrator‘
 
i=0
while i<=10:
    time.sleep(0.1)
    i+=1
    if == 7:
        continue
    print i
print("end")

 num two

1
2
3
4
5
6
7
8
9
10
11
12
#!/usr/bin/env python
# _*_ coding:utf-8 _*_
__author__ = ‘Administrator‘
 
#1到100求和
 
j=0
i=1
while i<=100:
     j+=i
     i+=1
print j

  linux命令行求和 

1
2
3
4
5
6
7
awk ‘BEGIN{i=1;do{sum+=i;i++}while (i<=100);print sum}‘
   
awk ‘BEGIN{i=1;while (i<=100){sum+=i;i++};print sum}‘
   
awk ‘BEGIN{sum=0;for (i=1;i<=100;i++)sum+=i;print sum}‘
   
declare sum=0;for in `seq 1 100`;do let sum+=$i;done;echo $sum

num three

1
2
3
4
5
6
7
8
9
#!/usr/bin/env python
#—*— coding:utf-8 —*—
#奇数求和
= 0
= 1
while i < 100:
    += 1
    += 2
print (j)

num four

1
2
3
4
5
6
7
8
9
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#偶数求和
= 0
= 0
while i < 100:
    +=i
    += 2
print(j)

num five

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/usr/bin/env python
# _*_ coding:utf-8 _*_
__author__ = ‘Administrator‘
  
# 奇数 求和
j=0
i=1
while i<=100:
    j+=i
    i+=2
print j
  
#偶数 求和
k=0
l=0
while l<=100:
     k+=l
     l+=2
print k
print(j-k

三次登录:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import sys
  
= 0
while i < 3:                                                        #只要用户登录异常不超过3次就不断循环
    username = input("请输入用户名:")
  
    lock_file = open(‘user_lock.txt‘,‘r+‘)                          #当用户输入用户名后,打开LOCK 文件 以检查是否此用户已经LOCK了
    lock_list = lock_file.readlines()
  
    for lock_line in lock_list:                                     #循环LOCK文件
        lock_line = lock_line.strip(‘\n‘)                           #去掉换行符
        if username == lock_line:                                   #如果LOCK了就直接退出
            sys.exit(‘=======WARNING:该账号 %s 已经被冻结========‘ % username)
  
    user_file = open(‘user_id.txt‘,‘r‘)                             #打开帐号文件
    user_list = user_file.readlines()
    for user_line in user_list:                                     #对帐号文件进行遍历
        (user,password) = user_line.strip(‘\n‘).split()             #分别获取帐号和密码信息
        if username == user:                                        #如用户名正常匹配
            = 0
            while m < 3:                                            #只要用户密码异常不超过3次就不断循环
                passwd = input(‘请输入密码:‘)              #输入密码,相对安全
                if passwd == password:                              #密码正确,提示欢迎登录
                    print(‘HI,%s,欢迎登录系统‘ % username)
                    sys.exit(0)                                     #正常退出
                else:
                    if m != 2:                                      #m=2时,是最后一次机会,不用在提示还剩余0次机会了
                        print(‘用户 %s 密码错误,请重新输入,还有 %d 次机会‘ % (username,2 - m))
                += 1                                              #密码输入错误后,循环值增加1
            else:
                lock_file.write(username + ‘\n‘)                    #密码输入三次错误后,将该用户追加到LOCK文件
                sys.exit(‘用户 %s 达到最大登录次数,请联系管理员!!‘ % username)
        else:
            pass                                                    #当用户没匹配时,跳过并继续循环
    else:
        if i != 2:                                                  #i=2时,是最后一次机会,不用在提示还剩余0次机会了
            print(‘用户 %s 不存在,请重新输入,还有 %d 次机会‘ % (username,2 - i))
    += 1                                                          #当用户输入错误时,循环值增加1
else:
    sys.exit(‘用户 %s 不存在,退出‘ % username)                           #用户输入三次错误后,异常退出
  
lock_file.close()                                                   #关闭lock文件
user_file.close()                                                   #关闭user_id文件

python学习