15.重复元素判定。编写一个函数,接受一个列表最为参数,如果一个元素在列表中出现了不止一次,则返回True,但不要改变源列表的值。最后在主程序中测试该函数。
def fun(ls):
for n in ls:
if ls.count(n) > 1:
return True
else:
return False
def fun2(ls):
return len(set(ls)) < len(ls)
ls = eval(input('请按照列表格式输入列表元素:'))
if fun(ls) == True:
print('该列表中存在重复元素')
else:
print('该列表中不存在重复元素')
if fun2(ls) == True:
print('该列表中存在重复元素')
else:
print('该列表中不存在重复元素')
输出样例
请按照列表格式输入列表元素:11,16
该列表中不存在重复元素
该列表中不存在重复元素
16.将列表a中的数据线性转换成指定范围内的数据,并存放在列表b中。假设列表a中的元素的最大值为max_value,最小值为max_value。当指定列表b中的数据的取值范围为[low,high]时,将列表a中的元素a[i]线性转换为列表b中的元素b[i]的变换公式为
b[i]=low+(a[i]-min_value)*(high-low)/(max_value-min-value)
import random
def transfer(a, low, high):
b = []
max_value = max(a)
min_value = min(a)
for p in a:
new_value = low + (p - min_value) * (high - low) / (max_value - min_value)
new_value = round(new_value, 4)
b.append(new_value)
return b
def transfer2(a, low, high):
max_value = max(a)
min_value = min(a)
b = [round(low + (p - min_value) * (high - low) / (max_value - min_value), 4) for p in a]
return b
a = [random.randint(1, 100) for i in range(10)]
print(a)
low = int(input("low:"))
high = int(input("high:"))
b = transfer(a, low, high)
print(b)
b = transfer2(a, low, high)
print(b)
输出样例
[61, 89, 29, 42, 59, 65, 44, 84, 23, 86]
low:0
high:1
[0.5758, 1.0, 0.0909, 0.2879, 0.5455, 0.6364, 0.3182, 0.9242, 0.0, 0.9545]
17.输入一串字符作为密码,密码只能有数字与字母组成。编写一个函数judge(password),用来求出密码的强度level,并在主程序中测试该函数,根据输入,输出对应密码强度。密码强度判断准则如下(满足其中一项,密码增强一级):1,有数字;
2,有大写字母;3,有小写字母;4,位数不少于8位.
测试数据:
请输入测试密码:abc123
abc123的密码强度为2级
请输入测试密码:Abc123
Abc123的密码强度为3级
请输入测试密码:Abc12345
abc12345的密码强度为4级
def judge(password):
level = 0
n = len(password)
if n >= 8:
level += 1
for ch in password