1 实现isPrime()函数,参数为整数,要有异常处理。如果整数是质数返回True,否则返回False。并用参数2,55,1,6.6,0x31测试函数,并输出结果。
答案:
def isPrime(number):
try:
import math
if type(number) == type(0.):#type(0.)表示浮点数类型
raise TypeError
except TypeError:
print('这不是一个有效的整数')
if number == 1: #1不是质数
return False
x = int(math.floor(math.sqrt(number))) #number求平方根,取整,然后转化为整型,为判断质数服务
for i in range(2,x+1):
if number %i == 0: #说明不是质数
return False
return True
print(isPrime(2))
print(isPrime(55))
print(isPrime(1))
print(isPrime(6.6))
print(isPrime(0x31))
2. 随机密码生成。编写程序,在26个字母大小写和9个数字组成的列表中随机生成10个8位密码。
答案:
from random import *
def random_code():#生成随机密码的函数
code = [] #建立空链表
for i in range(8):
number = randint(0,62)#52个字母+数字,总共62个用整数表示
if number < 10:
code.append(number) #生成0—9数字直接加入到列表
elif 65<= number + 55 <= 90: #大写A到Z的ASCII为65—90
code.append(chr(number+55))#chr强制换成字符
elif 97<= number + 55 <= 122:#小写a到z的ASCII为97—122
code.append(chr(number+55))
else: #90-97之间用小写字母替代
code.append(chr(number+62))
return code
def main(): #定义主函数
for i in range(1,11): #生成10个随机密码
print("生成的第{}个随机密码是:{}".format(i,random_code()))
main()#调用主函数
3.重复元素判定。编写一个函数,接受列表作为参数,如果一个元素在列表中出现了不止一次,则返回重复元素的次数,但不要改变原来列表的值。同时编写调用这个函数和测试结果的程序。测试时需要测试有重复元素和无重复元素情况。
答案:
def main():#定义主函数
num = [] #建立列表
m = input("请输入一种数字或按回车结束:")
while m != "":
if(m == 'n'): #以n作为结束循环的条件
break
num.append(eval(m))
m = input("请输入一种数字或按回车结束:")
print("正在处理,请稍等!")
compare(num)
def compare(element):#判定是否有重复元素的函数
if len(element) == len(set(element)): #set代表集合,肯定无重复元素,比较两者长度即可
print("鉴定完毕,无重复元素!")
else:
print("经过鉴定,有重复元素,重复元素的个数为{}".format(len(element)-len(set(element))))
main()#调用主函数执·END·
长按三秒识别关注 微信号:ZYWHQU