练习一下Python的基本语法,每一个单独的测试写进一个函数内,执行时只需调用相应的函数即可,可以对习题进行举一反三,加强理解。


#!/usr/bin/python
# while循环打印数字0到10
def pp1():
    n = 0
    while n <= 10:
        print n,
        n += 1
# for循环打印数字0到10
def pp2():
    for n in range(0, 11):
        print n,
# if 控制结构判断数字正负
def pp3():
#   i = 23
    i = int(raw_input('Input your number: '))
    if i < 0:
        print "less than 0."
    elif i == 0:
        print "equal 0."
    else:
        print "larger than 0."
# 依次打印一个字符串的每个字符
def pp4():
    s = raw_input('type a string: ')
    for i in range(0, len(s)):
        print s[i]
# 用while改写上例
def pp5():
    s = raw_input('type a string: ')
    i = 0
    while i < len(s):
        print s[i]
        i += 1
# 对五个数求平均值
def pp6():
    num = [7, 7, 8, 9, 10]
    sum = 0
    for i in range(0, len(num)):
        sum += num[i]
                       
    avg = float(sum/len(num))
    print avg
# 猜一个数值
def pp7():
    rdom = 56
    while True:
        ynum = int(raw_input('Input a number between 1 and 100: '))
        if ynum > rdom:
            print 'Your number is too high.'
            continue
        elif ynum < rdom:
            print 'Your number is too low.'
            continue
        else:
            print 'You got.'
            break
# 根据菜单提示选择求和,平均值选项
def pp8():
    print '\t\t\t1). Get sum\n\t\t\t2). Get average\n\t\t\tx). Exit'
    ychoice = raw_input('Choose your option: ')
    if ychoice == '1':
        n1 = int(raw_input('Input first data: ')) 
        n2 = int(raw_input('Input second data: '))
        n3 = int(raw_input('Input third data: ')) 
        n4 = int(raw_input('Input fourth data: '))
        n5 = int(raw_input('Input fifth data: ')) 
        sum = n1+n2+n3+n4+n5
        print 'The sum is: ', sum
    elif ychoice == '2':
        n1 = int(raw_input('Input first data: ')) 
        n2 = int(raw_input('Input second data: '))
        n3 = int(raw_input('Input third data: ')) 
        n4 = int(raw_input('Input fourth data: '))
        n5 = int(raw_input('Input fifth data: ')) 
        sum = n1+n2+n3+n4+n5
        avg = sum / 5
        print 'The average is: ', avg
    elif ychoice == 'x':
        print 'Exit.' 
    else:
        print 'You type wrong choice. Exit.'
# 对3个数字进行由小到大排序
def pp9():
    num1 = int(raw_input('Input number one: '))
    num2 = int(raw_input('Input number two: '))
    num3 = int(raw_input('Input number three: '))
    print num1, num2, num3
    if num1 > num2:
        if num1 > num3:
            if num2 > num3:
                print num3, num2, num1
            else:
                print num2, num3, num1
        else:
            print num2, num1, num3
    else:
        if num1 > num3:
            print num3, num1, num2
        else:
            if num3 > num2:
                print num1, num2, num3
            else:
                print num1, num3, num2
                               
# 执行相应函数
pp9()


# 判断年份是否为闰年
def pp12():
    yyear = int(raw_input('Input the year: '))
    if yyear % 4 == 0:
        if yyear % 100 == 0:
            if yyear % 400 == 0:
                return "Leap year."
            else:
                return "Not a leap year."
        else:
            return "Leap year."
    else:
        return "Not a leap year."
#print pp12()
# 输入小于1美元的美分,判断分别由几个25美分,10美分,5美分和1美分组成,按最少组合计
def pp13():
    n1 = n2 = n3 = n4 = 0
    ymoney = float(raw_input('Input your money(<1): '))
    ymoney *= 100
    if ymoney // 25 == 0:
        n1 = ymoney // 25
    else:
        n1 = ymoney // 25
        rest1 = ymoney % 25
        if rest1 % 10 == 0:
            n2 = rest1 // 10
        else:
            n2 = rest1 // 10
            rest2 = rest1 % 10
            if rest2 % 5 == 0:
                n3 = rest2 // 5
            else:
                n3 = rest2 // 5
                rest3 = rest2 % 5
                if rest3 % 1 == 0:
                    n4 = rest3 // 1
    print "Your money is ", int(n1), \
"*0.25 cents, ", int(n2), "*0.1 cents, ", int(n3), \
"*0.05 cents, ", int(n4), "*0.01 cents."
pp13()