刷题继续
昨天和大家分享了 21-30 题,今天继续来刷 31~40 题
Question 31:
Define a function which can print a dictionary where the keys are numbers between 1 and 20 (both included) and the values are square of keys.
解法一
def printDict():
d=dict()
for i in range(1,21):
d[i]=i**2
print(d)
printDict()
解法二
def printDict():
dict={i:i**2 for i in range(1,21)}
print(dict)
printDict()
Question 32:
Define a function which can generate a dictionary where the keys are numbers between 1 and 20 (both included) and the values are square of keys. The function should just print the keys only.
解法一
def printDict():
dict = {i: i**2 for i in range(1, 21)}
print(dict.keys())
printDict()
解法二
def printDict():
d=dict()
for i in range(1,21):
d[i]=i**2
for k in d.keys():
print(k)
printDict()
Question 33:
Define a function which can generate and print a list where the values are square of numbers between 1 and 20 (both included).
解法一
def printList():
lst = [i ** 2 for i in range(1, 21)]
print(lst)
printList()
Question 34:
Define a function which can generate a list where the values are square of numbers between 1 and 20 (both included). Then the function needs to print the first 5 elements in the list.
解法一
def printList():
lst = [i ** 2 for i in range(1, 21)]
print(lst[:5])
printList()
Question 35:
Define a function which can generate a list where the values are square of numbers between 1 and 20 (both included). Then the function needs to print the last 5 elements in the list.
解法一
def printList():
lst = [i ** 2 for i in range(1, 21)]
print(lst[-5:])
printList()
Question 36:
Define a function which can generate a list where the values are square of numbers between 1 and 20 (both included). Then the function needs to print all values except the first 5 elements in the list.
解法一
def printList():
lst = [i ** 2 for i in range(1, 21)]
print(lst[5:])
printList()
Question 37:
Define a function which can generate and print a tuple where the value are square of numbers between 1 and 20 (both included).
解法一
def printTuple():
lst = [i ** 2 for i in range(1, 21)]
print(tuple(lst))
printTuple()
Question 38:
With a given tuple (1,2,3,4,5,6,7,8,9,10), write a program to print the first half values in one line and the last half values in one line.
解法一
tpl = (1,2,3,4,5,6,7,8,9,10)
for i in range(0,5):
print(tpl[i],end = ' ')
print()
for i in range(5,10):
print(tpl[i],end = ' ')
解法二
tp = tuple(i for i in range(1,11))
lst1,lst2 = list(tp[:5]),list(tp[5:])
print(lst1)
print(lst2)
Question 39:
Write a program to generate and print another tuple whose values are even numbers in the given tuple (1,2,3,4,5,6,7,8,9,10).
解法一
tpl = (1,2,3,4,5,6,7,8,9,10)
tpl_even = tuple(i for i in tpl if i%2 == 0)
print(tpl_even)
解法二
tpl = (1,2,3,4,5,6,7,8,9,10)
tpl_even= tuple(filter(lambda x : x%2==0,tpl))
print(tpl_even)
Question 40:
Write a program which accepts a string as input to print “Yes” if the string is “yes” or “YES” or “Yes”, otherwise print “No”.
解法一
s = input()
if s.lower() == 'yes':
print('Yes')
else:
print("No")
源代码下载
这十道题的代码在我的 github 上,如果大家想看一下每道题的输出结果,可以点击以下链接下载:
- Python 31-40 题
我的运行环境 Python 3.6+, 如果你用的是 Python 2.7 版本,绝大多数不同就体现在以下 3 点:
- raw_input() 在 Python3 中是 input()
- print 需要加括号
- fstring 可以换成.format(), 或者 %s,%d
谢谢大家,我们下期见!希望各位朋友不要吝啬,把每道题的更高效的解法写在评论里,我们一起进步!!!