1、【描述】
输入一个简单英文句子,统计并依次输出该句子中元音字母a、e、i、o、u(不区分大小写)出现的次数。
【输入】
一行中输入一个简单英文句子。
【输出】
一行中依次输出a、e、i、o、u在句子中出现的次数,整数以空格间隔。
【输入示例】
If so,you already have a Google Account. You can sign in on the right.
【输出示例】
6 4 4 7 3
【来源】
《Python程序设计基础》第6章编程题3。
line = input()
d = {}
for ch in line:
if ch.isalpha():
if ch.isupper():
ch = ch.lower()
if ch in "aeiou":
if ch in d:
d[ch] += 1
else:
d[ch] = 1
letters = sorted(list(d.items()))
for letter in letters:
print(letter[1], end=' ')
2、【描述】
定义函数:def number_to_words(number),该函数接受一个整数作为参数;返回一个小写英文字符串,字符串的单词描述了该整数。
英文单词:zero、one、two、three、four、five、six、seven、eight、nine。
例如,如果输入的整数是:-4721,函数返回字符串:"negative four seven two one"。
【输入】
输入一个整数。
【输出】
整数的英文单词描述(单词之间以一个空格间隔)。
【输入示例】
-4721
【输出示例】
negative four seven two one
【来源】
《Python程序设计基础》第6章编程题4。
def number_to_words(number):
digit_dictionary = {"1" : "one",
"2" : "two",
"3" : "three",
"4" : "four",
"5" : "five",
"6" : "six",
"7" : "seven",
"8" : "eight",
"9" : "nine",
"0" : "zero"}
output_string = ""
if number < 0:
number = -number
output_string = "negative "
string_input = str(number)
splitted = list(string_input)
for i in splitted:
output_string += digit_dictionary[i] + " "
stripped = output_string.rstrip(" ")
return stripped
def main():
number = int(input())
print(number_to_words(number))
main()
3、【描述】
输入一个1到7的数字,输出对应的星期名的缩写。
1 Mon
2 Tue
3 Wed
4 Thu
5 Fri
6 Sat
7 Sun
【输入】
输入1到7之间数字。
【输出】
输出对应的星期名的缩写。
【输入示例】
1
【输出示例】
Mon
d = {1:"Mon", 2:"Tue", 3:"Wed", 4:"Thu", 5:"Fri", 6:"Sat", 7:"Sun"}
x = int(input())
print(d[x])
4、【描述】
定义函数:def formatted_print(dictionary),该函数接受一个字典作为参数,字典的键是学生姓名,字典的值是对应学生的平均分数。函数按照如下所指定的格式打印学生姓名及其对应的平均分数。
例如,如果输入的字典是:{'john':34.480,'eva':88.5, 'alex':90.55, 'tim': 65.900},函数打印出如下信息:
alex 90.55 eva 88.50 tim 65.90 john 34.48
姓名输出宽度10且左对齐;平均分数输出宽度6,保留2位小数,且右对齐。
所有这些信息按照学生的平均分数降序排序输出。
输入数据,调用该函数,输出结果。
【输入】
每一行输入姓名、平均分数,其间以逗号分隔。每行数据构成字典的一个键值对。可能会有多行输入。
【输出】
见【输出示例】。
【输入示例】
john,34.480 eva,88.5 alex,90.55 tim,65.900
【输出示例】
alex 90.55 eva 88.50 tim 65.90 john 34.48
def formatted_print(dictionary):
d = {key:value for key, value in dictionary.items()}
lst = sorted(d.items(), key=lambda item:item[1], reverse=True)
for i in range(len(lst)):
print("{0:10s}{1:>6.2f}".format(lst[i][0], lst[i][1]))
def main():
d = {}
sentinel = ''
for line in iter(input, sentinel):
line = line.split(',')
d[line[0]] = float(line[1])
formatted_print(d)
main()
5、【描述】
给定公司n名员工的工龄,要求按工龄增序输出每个工龄段有多少员工。
【输入】
一行中给出n个整数,即每个员工的工龄,范围在[0, 50],整数间以空格间隔。
【输出】
按工龄的递增顺序输出每个工龄的员工个数,格式为:工龄:人数。每项占一行。如果人数为0则不输出该项。
【输入示例】
10 2 0 5 7 2 5 2
【输出示例】
0:1 2:3 5:2 7:1 10:1
lst = [int(x) for x in input().split()]
d = {}
for x in lst:
if x in d:
d[x] += 1
else:
d[x] = 1
counts = list(sorted(list(d.items())))
for i in range(len(counts)):
print(counts[i][0], ':', counts[i][1], sep = '')
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)