Part2:WriteSmallFunctions/ProgramsPart2:WritesmallFunctions/ProgramsInstructions[P2Q1]查找列表中的所有重复项[P2Q2]NoRepeats![P2Q3]字母相加[P2Q4]最长连续序列[P2Q5]测试PourInstructions完成以下问题。[P2Q1]查找列表中的所有重复项编写一个函数find_duplicates(),它接收从1到n的整数列表,其中n是列表的长度。该函数返回列表中第一个重复的值。如果参数不是列表或列表中的元素超出范围,则返回-1。如果没有元素重复,则返回0。RESTRICTIONSOnlyallowed:variables,ifstatements,whileloops.函数:len()、int()、float()、type()、isinstance()。字符串方法:format()。列表运算符和方法:create[],list(),append()。关键词:elif、else、return、break、continue、def、self、None、try、raise、except、finally、is、importsys.任何异常处理。记住:不要使用for循环或in关键字。不要使用min()/max()、enumerate()/zip()或sorted()。不要使用负索引(例如ls[-1])或切片(例如[1:])。不要使用其他列表操作和方法。将扣分。[P2Q2]不重复!编写一个程序,不断要求用户输入,直到给出重复的值。然后程序应该打印出Inputnumberisnotunique!andterminate.print(find_duplicates([1,2,3,2]))#2print(find_duplicates([1,1,2,2]))#1print(find_duplicates([4,3,1,2]))#0print(find_duplicates([1,2,2,0]))#-1print(find_duplicates([]))#0print(find_duplicates((1,2,3)))#-1RESTRICTIONS只允许:变量,if语句,while循环。函数:len()、int()、float()、type()、isinstance()、input()、print()。字符串方法:format()。列表运算符和方法:create[]、list()、append()。关键词:elif,else,return,break,continue,def,None,try,raise,except,finally,is,importsys。任何异常处理。记住:不要使用for循环或in关键字。不要使用min()/max()、enumerate()/zip()或sorted()。不要使用负索引(例如ls[-1])或切片(例如[1:])。不要使用其他列表操作和方法。[P2Q3]字母相加写一个函数word_sum(),它接受一个字符串,并根据以下规则返回总和:字母表中的每个字母都被赋予一个与其在字母表中的位置相对应的数字,即'a'的值为1,'b'的值为2,'c'的值为3,...'z'的值为26。Lettersshouldbecaseinsensitive.Numericdigitshavethesamevalueastheirtruenumericcounterparts,i.e.'1'hasvalue1,'2'hasvalue2etc.Characterswhichisnotaletterinthealphabetalsoadigit有一个值0的。要返回的总和应该是等于al总和的整数l字符对应的值。如果输入的类型不正确,则引发TypeError并显示消息Inputmustbeastring.RESTRICTIONSOnlyallowed:variables,ifstatements,whileloops.函数:len()、int()、float()、type()、isinstance()。字符串方法:format()。列表运算符和方法:create[],list(),append()。关键字:elif、else、return、break、continue、def、self、None、try、raise、except、finally、is、importsys。任何异常处理。$python3no_repeats.py给我一个输入:#a给我一个输入:#b给我一个输入:#375给我一个输入:#c#给我一个输入:#bInputnumber5isnotunique!print(word_sum('abc'))#6print(word_sum('ab*c!'))#6print(word_sum('123ab'))#9print(word_sum('!@#0'))#0print(word_sum(''))#0print(word_sum(123))#TypeError记住:不要使用for循环或in关键字。不要使用其他字符串或列表操作和方法。这包括但不限于编辑为isalpha()、isnumeric()、isalnum()和isdigit()。不要使用min()/max()、enumerate()/zip()或sorted()。不要使用负索引(例如ls[-1])或切片(例如[1:])。[P2Q4]最长连续数列连续数列是下一个数比前一个数多1的数列(如3、4、5、6等)。编写一个longest_consecutive_sequence()函数,它以一个整数列表作为输入并返回第一个最长连续序列的起始索引。如果列表值不是整数,则忽略它。如果不存在两个或更大的连续序列,或者如果给定的输入不是列表,则返回-1。RESTRICTIONS只允许:变量、if语句、while循环。函数:len()、int()、float()、type()、isinstance()。字符串方法:format()。列表运算符和方法:create[],list(),append()。关键词:elif、else、return、break、continue、def、self、None、try、raise、except最后是导入sys。任何异常处理。记住:不要使用for循环或in关键字。不要使用min()/max()、enumerate()/zip()或sorted()。不要使用负索引(例如ls[-1])或切片(例如[1:])。不要使用其他列表操作和方法。扣分。[P2Q5]TestingPour为FillinginBottles题中的pour_into()方法编写四个良好的单元测试,不重复相同样式的测试用例。通过填写文本文件模板中的相应字段来提供输入和预期输出。此外,在理由部分给出每个测试用例的推理。SCAFFOLDprint(longest_consecutive_sequence([7,1,2,3,6,9,2,5,6,7]))#1print(longest_consecutive_sequence([8,4,3,1,5,6]))#4print(longest_consecutive_sequence([9,10,11,13,14,15,16]))#3print(longest_consecutive_sequence([2,"a",3,4]))#2print(longest_consecutive_sequence([1,1,1,1,1]))#-1print(longest_consecutive_sequence([0]))#-1TEST1Justification:Inputs:Bottle1capacity:Bottle1currentamount:Bottle2capacity:Bottle2currentamount:Amount(inputargument):预期输出:Bottle1当前量:Bottle2当前量:TEST2Justification:Inputs:Bottle1capacity:Bottle1currentamount:Bottle2capacity:Bottle2currentamount:Amount(输入参数):Expectedoutput:Bottle1currentamount:Bottle2currentamount:TEST3Justification:Inputs:Bottle1容量:瓶子1当前数量:瓶子2容量:瓶子2当前数量:数量(输入参数):预期输出:瓶子1当前数量:瓶子2当前数量:测试4调整:输入:瓶子1容量:瓶子1当前数量:瓶子2容量:瓶2当前量:Amount(输入参数):预期输出:瓶1当前量:瓶2当前量:WX:codehelp