第31题
问题:定义一个函数,它可以接受两个字符串作为输入,并在控制台中以最大长度打印字符串。如果两个字符串长度相同,则函数应逐行打印所有字符串。
提示:使用len()函数获取字符串的长度。
def printValue(s1,s2): len1 = len(s1) len2 = len(s2) if len1>len2: print(s1) elif len2>len1: print(s2) else: print(s1) print(s2) printValue("one","three")
我的答案:
>>> s = input('输入2个字符串以逗号分隔:').split(',') 输入2个字符串以逗号分隔:abc,123 >>> print('\n'.join(s) if len(s[0])==len(s[1]) else s[0] if len(s[0])>len(s[1]) else s[1]) abc 123 >>>
或:
>>> s = input('输入2个字符串以逗号分隔:').split(',') 输入2个字符串以逗号分隔:abc,123 >>> a,b=len(s[0]),len(s[1]) >>> print(['\n'.join(s),s[0],s[1]][[a==b,a>b,a<b].index(True)]) abc 123 >>>
第32题
问题:定义一个函数,它可以接受一个整数作为输入,如果这个数字是偶数,则输出“它是偶数”,否则输出“它是奇数”。
提示:使用%运算符检查一个数字是偶数还是奇数。
1. def checkValue(n): 2. if n%2 == 0: 3. print("It is an even number") 4. else: 5. print("It is an odd number") 6. checkValue(7)
我的答案:
>>> def checkValue(n): return f"它是{'偶奇'[n%2]}数" >>> checkValue(7) '它是奇数' >>>
第33题
问题:定义一个函数,它可以打印一个字典,其中键是1到3之间的数字(包括在内),值是键的平方。
提示:使用dict[key]=value模式将条目放入字典中。
使用**运算符得到一个数字的幂。
def printDict(): d=dict() d[1]=1 d[2]=2**2 d[3]=3**2 print(d) printDict()
我的答案:
1. >>> {i:i**2 for i in range(1,4)} 2. {1: 1, 2: 4, 3: 9} 3. >>>
第34题
问题:定义一个函数,它可以打印一个字典,其中键是1到20之间的数字(包括在内),值是键的平方。
提示:使用dict[key]=value模式将条目放入字典中。使用**操作符获取*一个数的幂。对循环使用range()。
1. def printDict(): 2. d=dict() 3. for i in range(1,21): 4. d[i]=i**2 5. print(d) 6. printDict()
略,与33题差不多
第35题
问题:定义一个函数,它可以生成一个字典,其中键是1到20之间的数字(包括在内),值是键的平方。函数只输出值即可。
提示:使用dict[key]=value模式将条目放入字典中。使用**操作符获取*一个数的幂。对于循环使用range()。使用keys()迭代字典中的键。我们还可以使用item()来获取键/值对。
def printDict(): d=dict() for i in range(1,21): d[i]=i**2 for (k,v) in d.items(): print(v) printDict()
我的答案:
>>> [i for i in {i:i**2 for i in range(1,21)}.values()] [1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121, 144, 169, 196, 225, 256, 289, 324, 361, 400] >>>
第36题
问题:定义一个函数,它可以生成一个字典,其中键是1到20之间的数字(包括在内),值是键的平方。函数只打印键即可;
提示:使用dict[key]=value模式将条目放入字典中。使用**运算符得到一个数字的幂,对循环使用range(),使用keys()迭代字典中的键,我们还可以使用item()来获取键/值对。
def printDict(): d=dict() for i in range(1,21): d[i]=i**2 for k in d.keys(): print(k) printDict()
我的答案:
1. >>> [i for i in {i:i**2 for i in range(1,21)}.keys()] 2. [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20] 3. >>>
第37题
问题:定义一个函数,它可以生成和打印一个列表,其中的值是1到20之间的数的平方(包括这两个数)。
提示:使用**运算符得到一个数字的幂,对于循环使用range(),使用list.append()向列表中添加值。
def printList(): li=list() for i in range(1,21): li.append(i**2) print(li) printList()
我的答案:
1. >>> [i**2 for i in range(1,21)] 2. [1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121, 144, 169, 196, 225, 256, 289, 324, 361, 400] 3. >>>
第38题
问题:定义一个函数,它可以生成一个列表,其中的值是1到20之间的数的平方(包括这两个数),然后函数需要打印列表中的前5个元素。
提示:使用**运算符得到一个数字的幂。对循环使用range(),使用list.append()向列表中添加值,使用[n1:n2]对列表进行切片;
def printList(): li=list() for i in range(1,21): li.append(i**2) print(li[:5]) printList()
我的答案:
1. >>> [i**2 for i in range(1,21)][:5] 2. [1, 4, 9, 16, 25] 3. >>>
第39题
问题:定义一个函数,它可以生成一个列表,其中的值是1到20之间的数的平方(包括这两个数)。然后函数需要打印列表中的最后5个元素。
提示:使用**运算符得到一个数字的幂。对循环使用range()。使用list.append()向列表中添加值。使用[n1:n2]对列表进行切片。
def printList(): li=list() for i in range(1,21): li.append(i**2) print(li[-5:]) printList()
我的答案:
1. >>> [i**2 for i in range(1,21)][-5:] 2. [256, 289, 324, 361, 400] 3. >>>
第40题
问题:定义一个函数,它可以生成一个列表,其中的值是1到20之间的数的平方(包括这两个数)。然后,该函数需要打印列表中除前5个元素外的所有值。
提示:使用**运算符得到一个数字的幂。对循环使用range()。使用list.append()向列表中添加值。使用[n1:n2]对列表进行切片;
def printList(): li=list() for i in range(1,21): li.append(i**2) print(li[5:]) printList()
我的答案:
1. >>> [i**2 for i in range(1,21)][5:] 2. [36, 49, 64, 81, 100, 121, 144, 169, 196, 225, 256, 289, 324, 361, 400] 3. >>>