# -*- 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')