目录
点餐
类型:Python 组合数据类型
请补充横线处的代码,listA
中存放了已点的餐单,让 Python 帮你增加一个“红烧肉”,去掉一个“水煮干丝”。
listA = ['水煮干丝','平桥豆腐','白灼虾','香菇青菜','西红柿鸡蛋汤']
listA.___①____ ("红烧肉")
listA.____②____ ("水煮干丝")
print(listA)
示例1:
输入:无
输出:"['平桥豆腐', '白灼虾', '香菇青菜', '西红柿鸡蛋汤', '红烧肉']"
代码:
listA = ['水煮干丝','平桥豆腐','白灼虾','香菇青菜','西红柿鸡蛋汤']
listA.append ("红烧肉")
listA.remove ("水煮干丝")
print(listA)
《沉默的羔羊》之最多单词
描述
附件是《沉默的羔羊》中文版内容,请读入内容,分词后输出长度大于2且最多的单词。
如果存在多个单词出现频率一致,请输出按照Unicode排序后最大的单词。
输入格式
文件
输出格式
字符串
输入输出示例
仅提供一个输出示范样例。
输入 | 输出 | |
示例 1 | | |
附件 程序内如何读取附件?
沉默的羔羊.txt |
代码:
个人
import jieba
file = open("沉默的羔羊.txt").read()
words = jieba.lcut(file)
counts = {}
for w in words:
if len(w) == 1:
continue
else:
counts[w] = counts.get(w,0) + 1
items = list(counts.items())
items.sort(key = lambda x:x[1],reverse = True)
word,maxcount = items[0]
print(word)
当然这题偷懒一点可以直接print?hhh
答案
import jieba
f = open("沉默的羔羊.txt")
ls = jieba.lcut(f.read())
#ls = f.read().split()
d = {}
for w in ls:
d[w] = d.get(w, 0) + 1
maxc = 0
maxw = ""
for k in d:
if d[k] > maxc and len(k) > 2:
maxc = d[k]
maxw = k
if d[k] == maxc and len(k) > 2 and k > maxw:
maxw = k
print(maxw)
f.close()
中文词语逆序
类型:Python 组合数据类型
获得用户输出的中文字符串,按照词语进行逆序输出。
示例1:
输入:"中文词语逆序"
输出:"逆序词语中文"
代码:
个人
import jieba
str_in = jieba.lcut(input())
print(''.join(str_in[::-1]))
答案
import jieba
s = input()
ls = jieba.lcut(s)
print("".join(ls[::-1]))
通讯录(文件读取)
描述
读取附件中的csv文件(通讯录信息),放入字典中(后两项以列表形式做为字典的值),并依次输出其中的信息。文件内数据不需要修改,输出时数据之间以空格间隔。
编码格式使用GBK
输入‘A’时,按行输出文件信息
输入‘D’时,直接输出字典内容
输入其他数据时,输出“ERROR”
输入格式
输入一个字符
输出格式
张自强 12652141777 材 料
庚同硕 14388240417 自动化
王 岩 11277291473 文 法
杨 彪 18807390227 材 料
姚梦雪 14101628144 文 法
黄国宝 19439017361 材 料
麦啟聪 18844865547 信 息
陈天润 14622379485 材 料
项子烜 14226176598 文 法
任晋宏 15076627604 信 息
王玉云 11128829508 文 法
周佳乐 10826074903 文 法
输入输出示例
输入 | 输出 | |
示例 1 示例 2 | A D | 张自强 12652141777 材 料 {'张自强': ['12652141777', '材\u3000料'], '庚同硕': ['14388240417', '自动化'],...} |
附件 程序内如何读取附件?
info.csv |
代码:
个人
import csv
file = csv.reader(open("info.csv",encoding='GBK'))
result = {}
c = input()
if c == 'D':
for row in file:
result[row[0]] = [row[1],row[2]]
print(result)
elif c == 'A':
for row in file:
print(" ".join(row))
else:
print("ERROR")
答案
def read():
inFile = open("info.csv", 'r',encoding='GBK')
for line in inFile:
tr = line.strip().split(',')
dic[tr[0]]=tr[1:]
def show():
for name,value in dic.items():
print(name,value[0],value[1])
# def show():
# for name in dic:
# print("{}".format(name),end=' ')
# for j in dic[name]:
# print("{}".format(j),end=' ')
# print()
dic={}
read()
c=input()
if c=='A':
show()
elif c=='D':
print(dic)
else:
print("ERROR")