第41题
问题:定义一个函数,它可以生成并打印一个元组,其中的值是1到20之间的数的平方(包括这两个数)。
提示:使用**运算符得到一个数字的幂。对循环使用range()。使用list.append()向列表中添加值。使用tuple()从列表中获取一个元组。
def printTuple(): li=list() for i in range(1,21): li.append(i**2) print(tuple(li)) printTuple()
我的答案:
>>> tuple(i**2 for i in range(1,21))
第42题
问题:对于给定的元组(1,2,3,4,5,6,7,8,9,10),编写一个程序,在一行中输出前半部分值,在一行中输出后半部分值。
提示:使用[n1:n2]表示法从元组中获取切片。
tp=(1,2,3,4,5,6,7,8,9,10) tp1=tp[:5] tp2=tp[5:] print(tp1) print(tp2)
我的答案:同上
1. >>> tp=*range(1,11), 2. >>> tp 3. (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) 4. >>> tp[:5] 5. (1, 2, 3, 4, 5) 6. >>> tp[5:] 7. (6, 7, 8, 9, 10) 8. >>>
第43题
问题:编写程序生成并输出另一个元组,其值是给定元组(1,2,3,4,5,6,7,8,9,10)中的偶数。
提示:使用“for”来迭代元组,使用tuple()从列表中生成一个tuple。
tp=(1,2,3,4,5,6,7,8,9,10) li=list() for i in range(len(tp)): if tp[i]%2==0: li.append(tp[i]) tp2=tuple(li) print(tp2)
我的答案:
1. >>> tp=*range(1,11), 2. >>> tuple(i for i in tp if i%2==0) 3. (2, 4, 6, 8, 10) 4. >>>
第44题
问题:写一个程序,接受一个字符串作为输入,如果字符串是“yes”或“YES”或“Yes”,否则打印“No”。
提示:使用if语句判断条件。
1. s= input() 2. if s=="yes" or s=="YES" or s=="Yes": 3. print("Yes") 4. else: 5. print("No")
我的答案:
1. >>> s = input() 2. Yes 3. >>> 'Yes' if s in ["yes","YES","Yes"] else 'No' 4. 'Yes' 5. >>>
第45题
问题:编写一个程序,可以使用过滤函数过滤列表中的偶数。列表是:[1,2,3,4,5,6,7,8,9,10]。
提示:使用filter()过滤列表中的一些元素。使用lambda定义匿名函数。
1. li = [1,2,3,4,5,6,7,8,9,10] 2. evenNumbers = filter(lambda x:x%2==0, li) 3. for even in evenNumbers: 4. print(even)
我的答案:
1. >>> [_ for _ in filter(lambda x:not x%2, [*range(1,11)])] 2. [2, 4, 6, 8, 10] 3. >>>
第46题
问题:编写一个程序,可以使用map()构造一个列表,其中的元素是[1,2,3,4,5,6,7,8,9,10]中元素的平方。
提示:使用map()生成列表。使用lambda定义匿名函数。
1. li = [1,2,3,4,5,6,7,8,9,10] 2. squaredNumbers = map(lambda x:x**2, li) 3. print(squaredNumbers)
我的答案:
1. >>> [_ for _ in map(lambda x:x**2, [*range(1,11)])] 2. [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] 3. >>>
第47题
问题:编写一个程序,它可以map()和filter()生成一个列表,其中的元素是[1,2,3,4,5,6,7,8,9,10]中的偶数的平方。
提示:使用map()生成列表。使用filter()来过滤列表中的元素。使用lambda定义匿名函数。
1. li = [1,2,3,4,5,6,7,8,9,10] 2. evenNumbers = map(lambda x: x**2, filter(lambda x: x%2==0, li)) 3. print(evenNumbers)
我的答案:
1. >>> [_ for _ in map(lambda x:x**2,filter(lambda x:not x%2, [*range(1,11)]))] 2. [4, 16, 36, 64, 100] 3. >>>
第48题
问题:编写一个程序,它可以filter()生成一个列表,其中的元素是1到20之间的偶数(包括两个元素)。
提示:使用filter()来过滤列表中的元素。使用lambda定义匿名函数。
1. evenNumbers = filter(lambda x: x%2==0, range(1,21)) 2. for even in evenNumbers: 3. print(even)
略,同45
第49题
问题:编写一个程序,它可以使用map()生成一个列表,其中的元素是1到20之间的数的平方(包括两个数)。
提示:使用map()生成列表。使用lambda定义匿名函数。
1. squaredNumbers = map(lambda x: x**2, range(1,21)) 2. print(squaredNumbers)
略,同46
第50题
问题:定义一个名为American的类,它有一个名为printNationality的静态方法。
提示:使用@staticmethod装饰器来定义类的静态方法。
class American(object): @staticmethod def printNationality(): print("America") anAmerican = American() anAmerican.printNationality() American.printNationality()