案例1:判断一个数是否为素数
# -----------------判断一个数是否是素数------------------
def sushu(a):
i=1
for i in range(2,a):
if a%i==0:
print(i)
break
if i==a-1:
print('素数')
else:
print('不是素数')
# return;
if __name__=="__main__":
sushu(17)
案例2:输出100以内的素数;
def sushu(a):
j=1
list=[]
for i in range(3,a):
for j in range(2,i):
if(i%j==0):
break;
if j==i-1:
#print(i)
list.append(i)
return list
if __name__=='__main__':
x=input('please input number:\n')
t=int(x)
su=sushu(t)
print(su)
案例3:判断三边能否构成三角形;
# ------------习题2,编写一个函数,判断三个数是否能构成一个三角形------------
import sys
def triangle(a,b,c):
if(a+b>c and a+c>b and b+c>a):
print('组成三角形' ,a,b,c)
if(a==b==c):
print("等边三角形")
elif (a == b or a == c or b == c):
print("等腰三角形")
elif(a**2+b**2==c**2 or a**2+c**2==b**2 or c**2+b**2==a**2):
print("直角三角形")
else:
print("普通三角形")
else:
print("不能组成三角形")
if __name__=="__main__":
print("please input three number:")
x=input("first number:",)
y=input("second number:",)
z=input("thrid number:",)
triangle(int(x),int(y),int(z))
案例4:求三角形周长函数
import math
'''
函数名称:square
参数:x
返回值:一个数的平方
功能:求1个数的平方
'''
def square(x):
return x*x
'''
功能:求2个点之间的距离,方式通过构成一个直角三角行来求
参数:2个点的坐标
'''
def distance(x1,y1,x2,y2):
L =math.sqrt(square(x1-x2)+square(y1-y2))
return L
'''
功能:根据给定的3个点,判断是否为一个三角形
方式通过判断3点是否在一条线上
参数: 随便传入三个点
'''
def isTriangle(x1,y1,x2,y2,x3,y3):
flag=((x1-x2)*(y3-y2)-(x3-x2)*(y1-y2))!=0
return flag
def main():
print('输入三个点的坐标:')
x1,y1=eval(input('x1,y1='))
x2,y2=eval(input('x2,y2='))
x3,y3=eval(input('x3,y3='))
if(isTriangle(x1,y1,x2,y2,x3,y3)):
perim=distance(x1,y1,x2,y2)+distance(x1,y1,x3,y3)+distance(x2,y2,x3,y3)
print('the primeter is',perim)
else:
print('this is not triangle')
main()
案例5:计算传入的列表的最大值、最小值和平均值,并以元组的方式返回;
# -------习题5:编写一个函数,计算传入的列表的最大值、最小值和平均值,
#并以元组的方式返回,然后调用该函数
import math
def deal_num(li):
list=[]
list.append(float(max(li)))
list.append(float(min(li)))
sum=0
for i in li:
sum=sum+float(i)
aver=float(sum)/li.__len__()
list.append(aver)
print("list:",list)
return tuple(list)
if __name__=="__main__":
# print("请输入一个序列:")
# while
ll=input("please input a list,just contain number:",)
lll=ll.split(',')
# print(type(lll))
deal=deal_num(lll)
print("tuple contain max_number,min_number and average_number:",deal)
案例6:计算传入的列表的最大值、最小值和平均值,并以列表的方式返回;
# ---习题6:编写一个函数,计算传入的元组的最大值、最小值和平均值,
#并以列表的方式返回,然后调用该函数。
import math
def deal_num(li):
list=[]
list.append(float(max(li)))
list.append(float(min(li)))
sum=0
for i in li:
sum=sum+float(i)
aver=float(sum)/li.__len__()
list.append(aver)
print("list:",list)
return list
if __name__=="__main__":
# print("请输入一个序列:")
# while
ll=input("please input a list,just contain number:",)
lll=tuple(ll.split(','))
print("tuple:",lll)
# print(type(lll))
deal=deal_num(lll)
print("list contain max_number,min_number and average_number:",deal)
案例7:统计字符串中不同字符的个数;
# ---习题7:编写一个函数,接收传入的字符串,统计大写字母的个数、小写字母的个
#数、数字的个数、其它字符的个数,并以元组的方式返回这些数,然后调用该函数;
import sys
def deal_char(li):
list=[]
# list.append(float(max(li)))
# list.append(float(min(li)))
upper=0
lower=0
num=0
other=0
# str.__len__()
for i in range(li.__len__()):
if li[i].isupper():
upper+=1
elif li[i].islower():
lower+=1
elif li[i].isnumeric():
num+=1
else:
other+=1
list.append(upper)
list.append(lower)
list.append(num)
list.append(other)
print("list:",list)
return tuple(list)
if __name__=="__main__":
# print("请输入一个序列:")
# while
ll=input("please input some char(or a string):",)
# print(type(lll))
deal=deal_char(ll)
print("tuple contain count with upper char,lower char ,number and others:",deal)
案例8:实现登录与注册
def login(username,password):
'''
功能:用户登录
:param username: 用户输入的用户名
:param password:用户输入的密码
:return:True,登录成功;False,登录失败
'''
f =open('D:\python\db.txt','r')
#逐行读取
for line in f:
#用'|'进行分割
line_list=line.strip().split("|")
#匹配是否正确
if line_list[0]==username and line_list[1]==password:
return True
return False
def register(username,password):
'''
用户注册
:param username:用户名
:param password:密码
:return:默认返回None
'''
f =open('D:\python\db.txt','a')
temp="\n"+username+"|"+password
f.write(temp)
f.close()
def main():
t=input("1:登录;2:注册\n")
if t=='1':
user =input("请输入用户名:")
pwd =input("请输入密码:")
r =login(user,pwd)
if r:
print("登录成功")
else:
print("登录失败")
elif t=='2':
user = input("请输入用户名:")
pwd = input("请输入密码:")
register(user, pwd)
main()
案例9:一个字符串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方法的调用和字典键值对的访问