python函数小练习

练习函数的同学看过来
#coding=utf-8
#3.1 7行7列指定图案构成的图形
def graph(n):
if n==1:
print ' @ '*7
if n==2:
print '@@@@@@@'
print ' @'
print ' @'
print '@@@@@@@'
print '@'
print '@'
print '@@@@@@@'
graph(1)
graph(2)
# *号等于图案的数量
#3.2 一个字符串list,每个元素都是一个ip,求出现次数最多的ip
list=['10.199.88.161','10.199.88.162','10.199.88.163','10.199.88.163','10.199.88.163']
dict={}
li=[]
for i in list:
if not dict.has_key(i):
dict[i]=1
else:
dict[i]+=1
for i in dict.keys():
if dict[i]==max(dict.values()):
print u'出现次数最多的ip是:',i
#has_key方法的调用和字典键值对的访问

#3.3 函数写出菲波那切数列(兔子公式)
def fibonaqie(n):
if n==0:
return 0
if n==1:
return 1
if n>1:
return fibonaqie(n-2)+fibonaqie(n-1)
print fibonaqie(5)
#深刻理解fibonaqie(2)是怎么走的就很简单了

#3.4 写一个函数,识别是否字符串符合python语法的变量名
import string
def var(v):
if v[0] not in string.letters:
print u'这个字符串不符合规则'
return False
if v[-1] not in (string.letters+string.digits):
print u'这个字符串不符合规则'
return False
for i in v[1:-2]:
if i in (string.letters+string.digits+'_'):
print u'这个字符串符合规则'
return True
else:
print u'这个字符串不符合规则'
return False
var('asda_123')
var('asda_123_')
var('11')
var('*&^')

#3.9 写个字符串,通过遍历的方式计算字符串的长度
def jlen(str):
x = 0
for i in str:
x+=1
print u'该字符串的长度为:',x
return x
jlen('xiegezifuchuan')
#3.10 写入不定个数的字符串拼接第一个和最后一个字符串
def splicing(*args):
return args[0]+args[-1]
print splicing('1','2','3')

#3.11 定义一个函数,输入不定个数的数字,返回所有数字的和
def sumofdigits(*args):
x=0
for i in args:
x+=i
return x
print sumofdigits(1,2,3,4,5)

#3.12 传入多个参数,以list返回
def returnlist(*args):
li=[]
for i in args:
li.append(i)
return li
print returnlist(1,2,3,4)

#3.13 任意输入年月日,计算出这是这一年的哪一天
def whichday(m,d):
if m in (1,3,5,7): return u'这是今年第'+str((m-1)*30+(m-1)/2+d-2)+u'天' if m in (2,4,6,8,10,12): return u'这是今年第'str((m-1)*30+m/2+d-2)+u'天' if m in (9,11): return u'这是今年第'str((m-1)*30+(m+1)/2+d-2)+u'天'print whichday(3,25)#数学题-。-
原文地址:https://www.cnblogs.com/xinguichun/p/6005000.html