每日一练(2):二级题库

1.键盘输入字符串s,按要求把s输出到屏幕,格式要求:宽度为30个字符,星号符*填充,居中对齐。如果输入字符串超过30位,则全部输出。

s = input("请输入一个字符串:")
print("{:*^30}".format(s))

输入Congratulations,结果如下

*******Congratulations********

2.根据斐波那契数列定义,输出不大于50的序列元素

a, b = 0, 1
while a <= 50:
    print(a, end=',')
    a, b = b, a+b

结果如下:

0,1,1,2,3,5,8,13,21,34,

3.键盘输入一句话,用jieba分词后,将切分的词组按照原话逆序输出到屏幕上,词组中间没有空格。

import jieba         #首先要引入第三方库
s = "我爱老师"
a = jieba.lcut(s)
for i in a[::-1]:
    print(i, end='') #保证没有空格

结果如下:

老师爱我

4.使用turtlr库的turtle.fd()函数和turtle.seth()函数绘制一个边长为100的等边三角形

import turtle
for i in range(3):
    turtle.seth(i*120)
    turtle.fd(100)

5.键盘输入一组水果,统计各类型的数量,从数量多到少的输出类型及对应数量,以英文冒号分隔,每个类型一行。

s = input("请输入类型序列:")
fruits = s.split(" ")
d = {}
for fruit in fruits:
    d[fruit] = d.get(fruit, 0) + 1
ls = list(d.items())
ls.sort(key = lambda x:x[1], reverse = True)
for i in ls:
    print("{}: {}\n".format(i[0], i[1]))

输入:苹果 芒果 草莓 芒果 苹果 草莓 芒果 香蕉 芒果 草莓,输出结果如下

芒果: 4

草莓: 3

苹果: 2

香蕉: 1

6.统计《卖火柴的小女孩》中字符频次最多的字符,字符和频次之间使用英文冒号分隔,将结果写到《统计》的文件中。

fo = open("卖火柴的小女孩.txt", "r", encoding="UTF-8")
fi = open("统计.txt", "w", encoding="UTF-8")
txt = fo.read()
exclude = ",。、!?【】{};:“”+-*/()~<>《》"
d = {}
for i in txt:
    if i in exclude:
        continue
    else:
        d[i] = d.get(i, 0) + 1
ls = list(d.items())
ls.sort(key=lambda x: x[1], reverse=True)
fi.write("{}:{}".format(ls[0][0], ls[0][1]))
fo.close()
fi.close()

7.对《卖火柴的小女孩》中的每个字的频数进行统计,并将结果写到《字数统计》文件中。字符与频数之间用英文冒号分隔,字符按照频数从高到低排序,字符不包含空格和回车,参考CSV格式,最后没有逗号。

fo = open("卖火柴的小女孩.txt", "r", encoding="UTF-8")
fi = open("频数统计.txt", "w", encoding="UTF-8")
txt = fo.read()
d = {}
for i in txt:
    if i == " " or i == "\n":
        continue
    else:
        d[i] = d.get(i, 0) + 1
ls = list(d.items())
ls.sort(key=lambda x: x[1], reverse=True)
for i in range(len(ls)):
    ls[i] = "{}:{}".format(ls[i][0], ls[i][1])
fi.write(",".join(ls))
fo.close()
fi.close()

你可能感兴趣的:(日常练习,python)