# -*- coding: utf-8 -*-
#1. 编写函数,要求输入x与y,返回x和y的平方差
# 方法一:
def funa(x,y):
a=x*x-y*y
return a
print funa(5,9)
# 方法二:
import math
def funb(x,y):
a=pow(x,2) - pow(y,2)
return a
print funb(5,9)
#2. 计算1到100的平方的和
# 方法一:
b=0
for 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) / 6
print 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的数,返回FALSE
def 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 string
string.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)%10
a22=(a2+5)%10
a33=(a3+5)%10
a44=(a4+5)%10
r1='%d' %a11 #将数字转化为字符串
r2='%d' %a22
r3='%d' %a33
r4='%d' %a44
result=r4+r3+r2+r1
return result
else:
return '请输入四位数字!'
else:
return '包含非数字,请输入四位数字!'
print encrypt('0986')
def decrypt(x):
if x.isdigit(): #判断字符串包含的是否都为数字
if len(x)==4: #判断字符串是否是四位
import string
string.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)%10
a22=(a2-5)%10
a33=(a3-5)%10
a44=(a4-5)%10
r1='%d' %a11 #将数字转化为字符串
r2='%d' %a22
r3='%d' %a33
r4='%d' %a44
result=r4+r3+r2+r1
return result
else:
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')