• Python基础(二)


    5章 条件判断和循环

    利用while循环计算100以内奇数的和。

    sum = 0
    x = 1
    while x < 100:
        sum = sum + x
        x = x + 2
    print sum
    
    

    在循环过程中,可以用break退出当前循环,还可以用continue跳过后续循环代码,继续下一次循环。

    例题:对100以内的两位数,请使用一个两重循环打印出所有十位数数字比个位数数字小的数,例如,23(2 < 3)

    方法一:

    for x in range (1,10):
        for y in range (x+1,10):
                print x*10+y
    

    方法二:

    for x in range (1,10):
        for y in range (1,10):
            if y>x:
                print x*10+y
    

    方法三

    for x in range (1,10):
        for y in range (1,10):
            if y>x:
                print str(x)+str(y)
        
    

    函数

    例题:sum()函数接受一个list作为参数,并返回list所有元素之和。请计算 1x1 + 2x2 + 3x3 + ... + 100x100。
    L = xrange(1, 101)
    print sum([i*i for i in L])
    

    补充range与xrange的区别,引用自

    range()返回一个递增或递减的数字列表,列表的元素值由三个参数决定,range([start,] stop[, step]) start表示列表开始的值,默认为“0”。stop 表示列表结束的值,该参数不可缺少,参数step表示步长,默认值为“1”。
    range()返回的是一个递增或递减的数字列表。xrange 是一个类,返回的是一个xrange对象。使用xrange()进行遍历,每次遍历只返回一个值。range()返回的是一个列表,一次性计算并返回所有的值。因此,xrange()的执行效率要高于range()
    分析见代码如下:

    汉诺塔问题

    详见汉诺塔问题

    用python实现代码

    -*- coding:utf-8 -*-
    move(n, a, b, c)
    def move(n, a, b, c):
        if n == 1:  
           print a, '-->', c
            return
        move(n-1, a, c, b)
        print a, '-->', c
        move(n-1, b, a, c)
    move(4, 'A', 'B', 'C')
    

    下面有一个我看的比较好的解释,递归经典案例汉诺塔 python实现


    Python之定义默认参数

    由于函数的参数按从左到右的顺序匹配,所以默认参数只能定义在必需参数的后面:

    Python之定义可变参数

    def fn(*args):
        print args
    

    Python解释器会把传入的一组参数组装成一个tuple传递给可变参数,因此,在函数内部,直接把变量 args 看成一个 tuple 就好了。

    请编写接受可变参数的 average() 函数。

    def average(*args):
        if len(args) != 0:
             return sum(args)*1.0/len(args)
        else:
            return 0.0
    
    print average()
    print average(1, 2)
    print average(1, 2, 2, 3, 4)
    

    注意:sum需要乘以1.0,因为下面的1,2的平均值是1.5,如果不乘以1.0的话结果就是1。

  • 相关阅读:
    Kubernetes 存储概念之Volumes介绍
    Jenkins 脚本命令行应用总结
    zabbixSNMP 硬件设备监控 别来无恙
    SAP CAR integration with S/4 HANA 零售解决方案 [SAP POS]
    jenkins获取控制台日志|Jenkins文件系统中的“控制台输出”日志位置
    thoughtwork出品《技术写作手册》读书笔记 做梦的人
    算法之插入排序 做梦的人
    算法之快速排序 做梦的人
    算法之冒泡算法及冒泡算法改进点 做梦的人
    Python类型注解与typing的使用(转)
  • 原文地址:https://www.cnblogs.com/ulrica/p/8910452.html
Copyright © 2020-2023  润新知