当前位置:   article > 正文

python头歌-python第六章作业_头歌python第六章作业答案

头歌python第六章作业答案

第1关 列表的属性与方法

  1. def main(n):
  2. ls = []
  3. for i in range(n):
  4. lsinput = input().split()
  5. operate = lsinput[0]
  6. if operate == 'insert':
  7. ls.insert(int(lsinput[1]),int(lsinput[2]))
  8. elif operate == 'remove':
  9. ls.remove(int(lsinput[1]))
  10. elif operate == 'append':
  11. ls.append(int(lsinput[1]))
  12. elif operate == 'sort':
  13. ls.sort()
  14. elif operate == 'pop':
  15. ls.pop()
  16. elif operate == 'reverse':
  17. ls.reverse()
  18. elif operate == 'print':
  19. print(ls)
  20. if __name__ == '__main__':
  21. N = int(input())
  22. main(N)

第2关 推导式与生成器

  1. ls = ['the lord of the rings','anaconda','legally blonde','gone with the wind']
  2. s = input() # 输入一个字符
  3. # 当输入为"1"时,输出元素为0-93次方的列表 [0, 1, 8, 27, 64, 125, 216, 343, 512, 729]
  4. if s == '1':
  5. print([x ** 3 for x in range(10)])
  6. # 当输入为"2"时,输出元素为0-9中偶数的3次方的列表 [0, 8, 64, 216, 512]
  7. elif s == '2':
  8. print([x ** 3 for x in range(10) if x % 2 == 0])
  9. # 当输入为"3"时,输出元素为元组的列表,元组中元素依次是0-9中的奇数和该数的3次方[(1, 1), (3, 27), (5, 125), (7, 343), (9, 729)]
  10. elif s == '3':
  11. print([(x,x ** 3) for x in range(10) if x % 2 == 1])
  12. # 当输入为"4"时,将ls中每个元素单词首字母大写输出['The lord of the rings', 'Anaconda', 'Legally blonde', 'Gone with the wind']
  13. elif s == '4':
  14. print([s.capitalize() for s in ls])
  15. # 当输入为其他字符时,执行以下语句
  16. else:
  17. print("结束程序")

第3关 列表的合并与排序

  1. lst_a = list(map(int,input().split()))
  2. lst_b = list(map(int,input().split()))
  3. lst_ab = lst_a + lst_b
  4. lst_ab.sort(reverse=True)
  5. print(lst_ab)

第4关 二维列表排序

  1. m = int(input())
  2. n = int(input())
  3. myList = [('dungeon',7),('winterfell',4),('bran',9),('meelo',6)]
  4. if m > len(myList):
  5. m = len(myList)
  6. print(sorted(myList,key=lambda x:x[1])[:m])
  7. score = [[ 'Angle', '0121701100106',99],[ 'Jack', '0121701100107',86],[ 'Tom', '0121701100109',65],[ 'Smith', '0121701100111',100],['Bob','0121701100115',77],['Lily','0121701100117',59]]
  8. if n > len(score):
  9. n = len(score)
  10. print(sorted(score,key=lambda x:x[0])[:n])
  11. print(sorted(score,key=lambda x:x[2])[:n])

第5关 动物重量排序

  1. ls = []
  2. while True:
  3. temp = input()
  4. if temp == '':
  5. break
  6. ls.append(temp.split())
  7. print(sorted(ls,key=lambda x:float(x[1][:-1])*1000 if x[1][-1] == 't' else float(x[1][:-2])))

第6关 身份证号升位

  1. n = input()
  2. list1 = list(n)
  3. Wi=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2]
  4. if int(list1[6])+int(list1[7]) >= 5:
  5. list1.insert(6,9)
  6. list1.insert(6,1)
  7. else:
  8. list1.insert(6,0)
  9. list1.insert(6,2)
  10. s = 0
  11. for i in range(17):
  12. s += int(list1[i]) * int(Wi[i])
  13. m = s % 11
  14. list2 = [1,0,'X',9,8,7,6,5,4,3,2]
  15. list1.append(list2[m])
  16. for x in list1:
  17. print(*str(x),end = '')

第7关 完美立方数

  1. N = int(input())
  2. for a in range(2,N+1):
  3. for b in range(2,a):
  4. for c in range(b,a):
  5. for d in range(c,a):
  6. if a**3 == b**3+c**3+d**3:
  7. print(f'Cube = {a},Triple = ({b},{c},{d})')

第8关 约瑟夫环问题

  1. def Josephus(n,k):
  2. ls_n=list(range(1,n+1))
  3. while len(ls_n)>k-1:
  4. ls_n=ls_n[k:]+ls_n[:k-1]
  5. return ls_n
  6. n,k=map(int,input().split())
  7. if k>=2 and n>=k:
  8. print(Josephus(n,k))
  9. else:
  10. print('Data Error!')

第9关 统计英文文件中的单词数

  1. def read_file(file):
  2. """接收文件名为参数,读取文件中的数据到字符串中,返回这个字符串"""
  3. with open(file, 'r', encoding='utf-8') as text: # 创建文件对象
  4. txt =text.read() # 读文件为字符串
  5. return txt # 返回字符串
  6. def word_list(txt):
  7. """接收字符串为参数,用空格替换字符串中所有标点符号,根据空格将字符串切分为列表
  8. 返回值为元素为单词的列表"""
  9. for i in ",.!\'":
  10. txt = txt.replace(i, ' ')
  11. return txt.split()
  12. def number_of_words(ls):
  13. """接收一个以单词为元素的列表为参数,返回列表中单词数量,返回值为整型"""
  14. return len(ls)
  15. if __name__ == '__main__':
  16. filename = input() # 读入文件名
  17. text = read_file('step10/'+filename) # 读取'step10/'文件夹中用户输入的文件名得到文件内容,存入text
  18. words_list = word_list(text) # 处理text,得到单词的列表
  19. words_counts = number_of_words(words_list) #统计单词列表word_list里的单词数
  20. print(f'共有{words_counts}个单词')

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/573700
推荐阅读
相关标签
  

闽ICP备14008679号