zoukankan      html  css  js  c++  java
  • python-02

    一、while 循环
    标准while条件语句的类似if。再说一次,要使用缩进来分隔每个子代码块
    1、从1加到100,计算结果
    1. #!/usr/bin/env python
    2. i = 1
    3. sum = 0

    4. while i <= 100:
    5. sum += i
    6. i += 1
    7. print "%d" % sum
    2、while 语句也可以使用else语句,当循环结束的时候,会执行else语句
    1. #!/usr/bin/env python
    2. sum = 0
    3. i = 1
    4. while i <= 100:
    5. sum += i
    6. i += 1
    7. else:
    8. print "this is %d" % sum
    3、如果需要中断循环,使用break。
    1. #!/usr/bin/env python
    2. sum = 0
    3. i = 1
    4. while True:
    5. sum += i
    6. i += 1
    7. if i > 100:
    8. break
    9. print sum

    注意 :写程序的时候,应尽量避免重复的代码。
    1. #!/usr/bin/env python
    2. name = raw_input('user:')
    3. while name != 'tom':
    4. name = raw_input('user:')
    5. print "ok"

    6. #!/usr/bin/env python
    7. while True:
    8. name = raw_input('user:')
    9. if name == 'tom':
    10. break
    11. print "ok"
    4、continue,在它下面的循环休内的语句将不在执行,返回到循环的开始部分。判断条件为False的情形:空列表、空元组、空字符串、数字0

    二、for循环
    for循环也可以使用continue、break和else,用法与while一样。
    计算从1到100之和
    1. #!/usr/bin/env python
    2. sum = 0
    3. for i in range (1,101):
    4. sum += i
    5. print sum
    计算斐波那契数列
    1. #!/usr/bin/env python
    2. a = [0,1,2]
    3. for i in range(8):
    4. a.append(a[-1] + a[-2])
    5. print a

    取一个列表或元组的下标和下标所对应的值
    1. #!/usr/bin/env python
    2. alist = [0,1,2]
    3. for i in range(8):
    4. alist.append(alist[-1] + alist[-2])

    5. for i in range(len(alist)):
    6. print "index %d is %d" % (i,alist[i])
    7. //内置方法
    8. for i,j in enumerate(alist):
    9. print "index %d is %d" % (i,j)
    1、列表解析
    快速的生成从1到4平方的表
    [i ** 2 for i in range(1,5)]
    快速的生成从1到10中奇数的平列表
    [i ** 2 for i in range(1,10) if i % 2 == 1]
    快速的生成从1到10中偶数的平列表
    [i ** 2 for i in range(1,10) if not (i % 2 == 1)]

    python风格
    1、起始行
    2、文档字符串
    3、import模块
    4、全局变量定义
    5、定义类
    6、定义函数
    7、主程序代码部分
    1、读取文件
    打开一个文件进行读取数据。注意打工的文件都需要在使用完后关闭
    1. >>>f = file('f1')
    2. >>> myfile = f.read()    //读取文件的全部内容,以字符串的方式赋值给myfile
    3. >>> f.close()            //关闭文件
    换读取方式
    1. >>> f = file('f1')
    2. >>> myfile = f.readlines()    //读取文件的全部内容,以列表的方式赋值给myfile
    3. >>> f.close()
    还可以使用
    1. >>> f = file('f1')
    2. >>> myfile = f.readline()   //读取文件的一行内容,赋值给myfile,每执行一次f.readline(),就会向下读取一行新内容。 
    3. >>> f.close()
    2、写入文件
    1. >>> f =file('hello.py','w')        //如果hello.py不存则创建,已存在里面的数据会被清空
    2. >>> d.write('this is test. ')    //向文件中写入新数据
    3. >>> f.flush()            //向文件写数据,会先到缓存中,如果需要立即刷新到磁盘文件上,需调用flush()函数
    4. >>> f.write('this is test1. ')
    5. >>> f.close()        //关闭文件,也会将缓存中的数据写入到文件
    3、追加文件
    1. f = file('hello.py','a')        //以追加的方式打开
    2. >>> f.write('aaaaa ')
    3. >>> f.close()

    4、以读写的方式打开 
    1. >>> f = file('hello.py','r+')
    2. >>> f.write('hello')        //注意:hello将会覆盖文件的前5个字符,因为一开始指针在第一行第一个字符
    3. >>> f.flush()
    4. >>> f.close()

    函数
    注意:一般来说,函数不会直接输出数据,应该让函数返回值
    1. #!/usr/bin/env python
    2. def xing(num = 40):
    3. print '*' * num
    4. xing()
    5. print 'hello'
    6. xing(50)
    定义一个函数
    1. #!/usr/bin/env python
    2. def sumn(num):
    3. sum = 0
    4. for i in range(1,num + 1):
    5. sum += i
    6. return sum
    7. print sumn(100)
    注意:使用模块的文件,需要和模块文件在同一目录,否则无法导入。或者可能将模块拷贝到sys.path所定义的目录中
    查看sys.path
    >>>import sys
    >>>sys.path

    生成一个8位随机密码
    可以使用string.__file__         查看文件在什么位置,查看里面的内容,两个下划线
    1. #!/usr/bin/env python
    2. import string
    3. import random
    4. passwd = ''
    5. pwd = string.letters + string.digits + string.punctuation
    6. for i in range(8):
    7. passwd += random.choice(pwd)
    8. print passwd
    写成函数
    1. #!/usr/bin/env python
    2. import string
    3. import random
    4. passwd = string.letters + string.digits + string.punctuation
    5. def genpwd(num=8):
    6. pwd = ''
    7. for i in range(num):
    8. pwd += random.choice(passwd)
    9. return pwd
    10. if __name__ == '__main__':
    11. print genpwd()
    12. print genpwd(4)
    13. print genpwd(10)
    __name__的值就是'__main__'


    99乘法表
    1. #!/usr/bin/env python
    2. for i in range(1, 10):
    3. for j in range(1, i+1):
    4. print '%d X %d = %d ' % (j, i, j*i),
    5. print
    写入函数
    1. #!/usr/bin/env python
    2. def cfb(num=4):
    3. for i in range(1, num+1):
    4. for j in range(1, i+1):
    5. print '%d x %d= %d' % (j, i, j*i),
    6. print
    7. if __name__ == '__main__':
    8. cfb()
    9. cfb(9





  • 相关阅读:
    cds.data:=dsp.data赋值有时会出现AV错误剖析
    iOS -- 十进制、十六进制字符串,byte,data等之间的转换
    iOS -- 原生NSStream实现socket
    CA认证原理以及实现(下)
    CA认证原理以及实现(上)
    android -- 存储byte
    iOS -- 字符串(NSString *)转uint8_t的两种方法
    Android -- AsyncTask 使用和缺陷
    Swift oc 混编
    Android -- native关键字
  • 原文地址:https://www.cnblogs.com/fina/p/6197309.html
Copyright © 2011-2022 走看看