复制代码不要用火狐,格式会出错!

 

 


7-1 jmu-python-求单词长度
 

输入n个单词,计算每个单词长度。对单词长度排序,分行输出单词长度及其单词。

输入格式:

  • 行1:单词个数n
  • 分行输入n个单词

输出格式:

分行输出单词长度及其单词。(单词长度,单词)用元组表示

输入样例:


5
python
list
set
996
tuple
 
 

输出样例:

(3, '996')
(3, 'set')
(4, 'list')
(5, 'tuple')
(6, 'python')

 

 

代码示例:

n = int(input())
words = [input().strip() for i in range(n)]
words_len = [(len(word), word) for word in words]
words_len.sort()
for wl in words_len:
    print(wl)

 

解析:代码首先读取数字5,然后使用列表推导式读取接下来N行输入的单词,并将其存储到列表words中。

words_len = [(len(word), word) for word in words]这句代码可以拆分成两部分,for word in words遍历列表words中的每个单词,将其作为输入,(len(word), word)对于每个输入的单词,使用元组将其长度和单词本身打包在一起。

然后使用sort()函数对元组列表按照单词长度排序,最后遍历元组列表words_len并将其输出。

 

 


7-2 将数据排序
 
 

输入若干个正整数,升序排序后输出。

输入格式:

在一行中输入若干个数,以空格分隔。

输出格式:

输出升序排序后的数,以空格分隔,最后一个数后也有空格

输入样例:

在这里给出一组输入。例如:

4 5 67 3 99 2 7
 

输出样例:

在这里给出相应的输出。例如:

2 3 4 5 7 67 99 

 

 

代码示例:

nums = list(map(int, input().split()))
nums.sort()
print(' '.join(map(str, nums)), end=' ')

 

解析:

首先,使用input()函数读取输入的一行数据,并使用split()函数将字符串按照空格分隔为一个数字列表。map()函数可以将列表中的每个元素都应用于int()函数,将字符串转换为整数类型,并将其结果作为一个新的列表返回。这个新列表的元素类型都是整数。

然后,使用sort()方法将数字列表按照升序排序。

最后,使用join()方法将排好序的数字列表中的所有元素用空格分隔,并将其作为一个字符串输出。map()函数同样也可以将数字列表中的每个元素都应用于str()函数,将整数类型转换为字符串类型,并将其结果作为一个新的列表返回。这个新列表的元素类型都是字符串。end=' '表示输出时每个数之间都有一个空格,且最后一个数后面也有一个空格。

 

 


7-3 统计各行业就业的学生数量,按数量从高到低方式输出。
 
 

键盘输入某班各个同学就业的行业名称,行业名称之间用空格间隔(回车结束输入) 。统计各行业就业的学生数量,按数量从高到低方式输出。

输入格式:

输入各个同学行业名称,行业名称之间用空格间隔(回车结束输入)

交通 金融 计算机 交通 计算机 计算机

输出格式:

输出参考格式如下,其中冒号为英文冒号

计算机:3

交通:2

金融:1

输入样例:

交通 金融 计算机 交通 计算机 计算机
 

输出样例:

计算机:3
交通:2
金融:1

 

 

代码示例:

words = input().split()
list = {}
for i in words:
    list[i] = list.get(i, 0) + 1
count_words = [(count, word) for word, count in list.items()]
count_words.sort(reverse=True)

for count, word in count_words:
print(word + ':' + str(count))

 

 

 

解析:

 

首先,使用input()函数读取输入的一行数据,并使用split()函数将字符串按照空格分隔为一个单词列表。

然后,使用一个字典dict_count来记录每个单词出现的次数。遍历单词列表中的每个单词,如果该单词已经在字典中出现,则将其出现次数加1;否则将其出现次数初始化为1。

接下来,使用列表推导式生成一个元组列表count_words。对于字典dict_count中的每个键值对,将其值作为元组的第一个元素,将其键作为元组的第二个元素,并将这些元组组成一个新的列表。注意这里需要将键值对反转,因为我们要按照单词数量排序,而元组默认按照第一个元素排序。

最后,使用sort()方法将count_words按照元组的第一个元素(单词数量)降序排序。然后,使用for循环依次输出每个元组的第二个元素(单词)和第一个元素(数量),并将它们格式化为一个字符串输出。