第6课:Python实例

编程这门手艺是越练越精,只学理论不练习,永远不能成为高手
下面就给出几个可运行的例子,照着运行一遍,加深对python的理解,也注意其中容易出错的地方

1.有1、2、3、4这4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少,分别打印出来
cnt = 0 #count the sum of result
for i in range(1,5):
    for j in range(1,5):
        for k in range(1,5):
            if i!=j and i!=k and j!=k:
                print i*100+j*10+k
                cnt+=1
print cnt

2.输入某年某月某日,判断这一天是这一年的第几天
import datetime
import time
dtstr = str(raw_input('Enter the datetime:(20151215):'))
dt = datetime.datetime.strptime(dtstr, "%Y%m%d")
another_dtstr =dtstr[:4] +'0101'
another_dt = datetime.datetime.strptime(another_dtstr, "%Y%m%d")
print (int((dt-another_dt).days) + 1)

3.输出9*9乘法口诀
for i in range(1,10):
     for j in range(1,i+1):
         print i,'*',j,'=',i*j,
     print ''

4.利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示
#!/usr/bin/python
#-*- coding:utf-8 -*-
def main():
    s = int(raw_input('Enter a number:'))
    if s>=90:
        grade = 'A'
    elif s>=60:
        grade = 'B'
    else:
        grade = 'C'
    print grade

if __name__ == '__main__':
    main()

5.利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来
def output(s,l):
    if l==0:
        return
    print s[l-1]
    output(s,l-1)

s = raw_input('Input a string:')
l = len(s)
output(s,l)