首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

Python控制结构

作者:  时间: 2011-04-22

1. Python控制结构简介

2. 定义函数 

<1>. Python控制结构 

 1.1 if

print("#############if statement###############");
x = int(input("Enter an integer :"));
if x < 0 :
    x = 0;
    print("Negative changed to zero .");
elif x == 0 :
    print("Zero");
elif x == 1 :
    print("Single");
else :

    print("None"); 

1.2 for

############################for statement
print("#############for statement###############");
a = ['cat', 'window',  'defenestrate'];
for x in a :
    print(x, len(x));
    
print("#############range function###############");
for i in range(5) :
    print(i);
a = ['Mary', 'had', 'a', 'little', 'lamb'];
for i in range(len(a)) :

    print(i, a[i]); 

1.3 break and continue

print("#############break and continue###############");
for n in range(2, 10) :     # 2 - 9
    for x in range(2, n):
        if n % x == 0 :
            print(n, 'equals', x,  '+', n // x);
            break;
        else :
            print(n);

1.4 pass

# ########################pass action test ##############
if False :
    pass;   ''' do nothing '''

<2>. 定义函数 

 2.1 定义函数基础

# define the function
def fib(n):
    # print the Fibonacci series up to n.
    a, b = 0, 1;
    while  a < n :
        print a;

        a, b = b, a +b; 

2.2 函数默认参数 

'''  
    default arguments
'''
def ask_ok(prompt, retries = 4, complaint = 'Yes or no, please') :
    while True:
        ok = raw_input(prompt);
        if ok in ['y', 'Y', 'yes'] :
            return True;
        if ok in ['n', 'no', 'nop'] :
            return False;
        retries = retries - 1;
        if retries < 0:
            raise IOError('refusenik user');

        print complaint; 

2.3 不定参数

'''
    Arbitrary arguments function
'''
def arbitraryArgsFunc(arg1, *args):
    
    # just print the arbitrary arguments 
    for i in range(0, len(args)):
        print(args[i]);
        

arbitraryArgsFunc('arg1', 'arg2', 'arg3'); 

2.4 Lambda表达式

'''
    lamba function, just like the function  template
'''
def make_incrementor(n):
    return lambda x:x + n;
f = f = make_incrementor(42);

print(f(0));