编写一个程序,反复从键盘上输入一行行文字,直到遇到 quit
时终止输入。然后将所输入的各行按照字母顺序不区分大小写排序(例如,'Aha'
和 'aha'
都在 'Echo'
之前),再在命令行中逐行打印排序后的文字。请在以下代码的基础上完成程序:
lines = []
print("请输入多行文字,每行以回车键结束:")
while True:
line = input()
if line != "quit":
# TODO: 请在此补充代码!
else:
break
# TODO: 请在此补充代码!
print("以下是经过排序后的输入文字:")
for line in lines:
print(line)
注:由于需要存储多行文字,且动态增加元素,因此需要用一个字符串的列表存储内容,接下来需要使用列表的 append()
方法往其中追加内容。使用列表的 sort()
方法,或使用内置的 sorted()
函数对该列表排序,并在方法或函数中给定 key=str.lower
参数值以实现不区分大小写排序。
请用列表推导式的形式,快速创建一个列表,使其包含 21 个元素,每个元素的值通过下式计算:
$$y=5x^2 + 3x + 6$$
其中,x = -10, -9, -8, ⋯, 8, 9, 10。
对于如下整数列表 numbers
,先将其索引从 m 到 n 的元素(包括元素 m,但不包括元素 n)整体移动到列表最后,再把整个列表按照逆序(从尾至头)排序,最后打印列表内容。
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
m = len(numbers) // 3
n = len(numbers) // 3 * 2
对于如下有序整数元组 numbers
,请用二分查找法找出值 33 是否在元组中,如果在,打印其索引位置。要求不用任何内置函数和方法。
numbers = (-10, 1, 5, 8, 9, 13, 17, 19, 20, 24, 29, 31, 33, 45, 67, 88, 89, 90, 100)
以下 punctuations
元组列出了所有中文标点符号,paragraph
为任意给定的一段文字,请遍历 paragraph
,找出其中所有的标点符号,在每一行打印标点符号的索引以及符号。
punctuations = "。?!,、;:“”﹃﹄‘’﹁﹂()[]〔〕【】—…--~·《》〈〉﹏_."
paragraph = "《三体》是中国大陆作家刘慈欣于2006年5月至12月在《科幻世界》杂志上连载的一部长篇科幻小说,出版后成为中国大陆最畅销的科幻长篇小说之一。2008年,该书的单行本由重庆出版社出版。本书是“三体系列”(系列原名:地球往事三部曲)的第一部。该系列第二部《三体II:黑暗森林》于2008年5月出版;2010年11月,第三部《三体III:死神永生》出版发行。2011年,在台湾陆续出版。小说的英文版获得美国科幻奇幻作家协会2014年度“星云奖”提名,并荣获2015年雨果奖最佳小说奖。"
以下给出的 scores
列表存储了某个班级所有学生的编号和成绩,请按成绩由高到低的顺序逐行打印各个学生的成绩,并在每行的末尾打印出该学生在班级中的成绩排名。
import random
scores = [[id, random.randrange(50, 101)] for id in range(1, 31)]