python入门demo

发布时间:2019-07-25 09:14:18编辑:auto阅读(2098)

    #coding=utf-8
    
    #python中list
    l = [95.5,85,59]
    #指定索引位置插入元素
    l.insert(0,1);
    #删除指定索引位置元素
    y = l.pop(2)
    #直接替换值
    l[1] = 100
    #创建final属性的list  在python中叫做 tuple:元组
    t = ('a',2,3)
    #元组中嵌套list
    t2 = (1,2,[3,4])
    
    '''
    python中流程判断语句
    '''
    #if else
    #age = raw_input("请输入年龄:")
    age = int ("160")
    if age >= 100:
        print "已经成精"
    elif age >= 18:
        print "已经成年"
    else:
        print "还是娃娃"
    
    #for循环
    for score in l:
        print score
    
    #while循环计算100以内奇数的和
    i = 0
    sum = 0
    while i < 100:
        if i % 2 == 1:
            sum += i
        i += 1
    print "奇数和为:" + str(sum)
    
    #break 的使用
    j = 2
    product =0
    while True:
        product += j*2
        j += 2
        if j > 20:
            break
    print "乘积和是:"+ str(product)
    
    #continue 的使用 当满足当前条件后 直接跳过之后的操作进入下一次循环
    sum = 0
    x = 0
    while True:
        x = x + 1
        if x > 100:
            break
        if x % 2 == 0:
            continue
        sum = sum + x
    print sum
    
    #对100以内的两位数,请两重循环打印出所有十位数数字比个位数数字小的数
    x = 1
    while x < 10:
        y = x
        while y < 9:
            y += 1
            print x*10 + y
        x += 1
    
    #dict key-value 定义与遍历
    d= {
        'Adam': 95,
        'Lisa': 85,
        'Bart': 59
    }
    for key in d:
        print key + ':', d[key]
    
    #无序唯一set集合 定义与遍历与删除  不能遍历时直接删除 并发修改异常
    s = set([1,2,3,4,5])
    #判断是否含有指定元素
    print 3 in s
    #验证唯一性
    s.add(0)
    s.add(2)
    dels = []
    #遍历
    for ss in s:
        if ss > 4:
            dels.append(ss)
    print s.__len__()
    print s
    #删除
    for delss in dels:
        s.remove(delss)
    print s
    #求根公式 x = (-b±√(b²-4ac)) / 2a
    import math
    def quadratic_equation(a, b, c):
        #求平方根的方法
        t = math.sqrt(b * b - 4 * a * c)
        return (-b + t) / (2 * a),( -b - t )/ (2 * a)
    print quadratic_equation(2, 3, 0)
    print quadratic_equation(1, -6, 5)
    
    #参数设置默认值
    def method(arg = 1):
        print 1
    method()
    
    #定义可变参数
    def average(*args):
        sum = 0.0
        if len(args) == 0:
            return sum
        for x in args:
            sum = sum + x
        return sum / len(args)
    print average()
    print average(1, 2, 2, 3, 4)
    
    #获取0到100 list
    myList = range(0,100)
    #list切片 截取
    #通过索引 获取2 到 20
    print myList[2:30]
    #获取索引位置为2的 到 倒排索引95 的所有
    print myList[2:-95]
    #获取从2到6 每隔两个获取一次
    print myList[2:6:2]
    #重新赋值
    newList = myList[:]
    print newList
    
    #遍历list 通过enumerate()自动为每个元素赋值索引
    L = ['Adam', 'Lisa', 'Bart', 'Paul']
    for index, name in enumerate(L):
        print index, '-', name
    
    #将两个list拼接成dict
    print zip([10, 20, 30], ['A', 'B', 'C']) #[(10, 'A'), (20, 'B'), (30, 'C')]
    
    #通过迭代器 遍历dict 获取value
    d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59, 'Paul': 74 }
    sum = 0.0
    for v in d.itervalues():
        sum = sum + v
    print sum / len(d)
    #默认遍历时获取的是key
    for key in d:
        print key
        print d[key]
    
    #迭代器获取 每个 (java)entry
    sum = 0.0
    for k, v in d.iteritems():
        sum = sum + v
        print k, ':', v
    print 'average', ':', sum / len(d)
    
    #列表生成式 生成水仙花数 for嵌套加 if条件判断
    print [100 * n1 + 10 * n2 + n3 for n1 in range(1, 10) for n2 in range(10) for n3 in range(10) if n1==n3]
    
    #通过占位符生成table标签
    d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }
    def generate_tr(name, score):
        if score < 60:
            return '<tr><td>%s</td><td style="color:red">%s</td></tr>' % (name, score)
        return '<tr><td>%s</td><td>%s</td></tr>' % (name, score)
    tds = [generate_tr(name, score) for name, score in d.iteritems()]
    print '<table border="1">'
    print '<tr><th>Name</th><th>Score</th><tr>'
    print '\n'.join(tds)
    print '</table>'


关键字