# -*- coding: utf-8 -*-#1. 编写函数,要求输入x与y,返回x和y的平方差# 方法一:def funa(x,y):a=x*x-y*yreturn aprint funa(5,9)# 方法二:import mathdef funb(x,y):a=pow(x,2) - pow(y,2)return aprint funb(5,9)#2. 计算1到100的平方的和# 方法一:b=0for i in range(0, 100):b +=pow(i,2)else:print 'The for loop is over'print b# 方法二:def f(x):return x * (x+1) * (2*x+1) / 6print f(100)# 方法三:print reduce(lambda x,y: x+y**2,range(1,101))# 方法四:#python中[... for ... in ...]的建list方式比较好用,配合能接收list的函数,能大大化简程序。如本例print sum([i**2 for i in range(101)])#3. 编写函数,若输入为小于100的数,返回TRUE,大于100的数,返回FALSEdef func(x):if x>100:return 'false'if x<100:return 'true'else:return 'The number is 100!'print func(99.9)print func(189.1)print func(100)print func('a')#4. 某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:#每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。def encrypt(x):if x.isdigit(): #判断字符串包含的是否都为数字if len(x)==4: #判断字符串是否是四位import stringstring.atoi(x[0]) #将字符串转化为数字a1=string.atoi(x[0])a2=string.atoi(x[1])a3=string.atoi(x[2])a4=string.atoi(x[3])a11=(a1+5)%10a22=(a2+5)%10a33=(a3+5)%10a44=(a4+5)%10r1='%d' %a11 #将数字转化为字符串r2='%d' %a22r3='%d' %a33r4='%d' %a44result=r4+r3+r2+r1return resultelse:return '请输入四位数字!'else:return '包含非数字,请输入四位数字!'print encrypt('0986')def decrypt(x):if x.isdigit(): #判断字符串包含的是否都为数字if len(x)==4: #判断字符串是否是四位import stringstring.atoi(x[0]) #将字符串转化为数字a1=string.atoi(x[0])a2=string.atoi(x[1])a3=string.atoi(x[2])a4=string.atoi(x[3])a11=(a1-5)%10a22=(a2-5)%10a33=(a3-5)%10a44=(a4-5)%10r1='%d' %a11 #将数字转化为字符串r2='%d' %a22r3='%d' %a33r4='%d' %a44result=r4+r3+r2+r1return resultelse:return '请输入四位数字!'else:return '包含非数字,请输入四位数字!'print decrypt('1345')#进化方法:def encrypt(x):if x.isdigit(): #判断字符串包含的是否都为数字if len(x)==4: #判断字符串是否是四位s = ''for i in range(len(x)):s += '%d' %((int(x[i]) + 5) % 10) #将数字转化为字符串return s[::-1] #切片,倒序else:return '请输入四位数字!'else:return '包含非数字,请输入四位数字!'print encrypt('0986')def decrypt(x):if x.isdigit(): #判断字符串包含的是否都为数字if len(x)==4: #判断字符串是否是四位s = ''for i in range(len(x)):s += '%d' %((int(x[i]) - 5) % 10) #将数字转化为字符串return s[::-1] #切片,倒序else:return '请输入四位数字!'else:return '包含非数字,请输入四位数字!'print decrypt('0986')
