鱼C论坛

 找回密码
 立即注册
查看: 2031|回复: 11

[已解决]一道综合题,能否用最简单的代码编写出来呢?

[复制链接]
发表于 2023-3-16 20:46:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
Let's mix the function, context manager, basic data structures, loops, conditional executions, statement
assignment, and f strings concepts and syntax we have learnt so far to solve this problem.
You may use the sample file (iso.txt) shared on Ed code section to test your code.

Hint:
Read file use open( ) function;
Split lines using split( ) function;
You may also count words use get( ) function to simplify a bit.
The get() method returns the value of the item with the specified key.
Syntax: dictionary.get(keyname, value)
keyname (Required) - The keyname of the item you want to return the value from
value (Optional) - A value to return if the specified key does not exist. Default value None
最佳答案
2023-3-16 20:51:28
  1. # 打开文件并读取内容
  2. with open('iso.txt', 'r') as f:
  3.     lines = f.read().splitlines()

  4. # 定义一个字典来存储单词的出现次数
  5. word_count = {}

  6. # 遍历每一行文本
  7. for line in lines:
  8.     # 分割行成单词列表
  9.     words = line.split()

  10.     # 遍历每个单词
  11.     for word in words:
  12.         # 将单词添加到字典中并更新其出现次数
  13.         word_count[word] = word_count.get(word, 0) + 1

  14. # 输出每个单词出现的次数
  15. for word, count in word_count.items():
  16.     print(f"'{word}' 出现了 {count} 次")
复制代码

iso.zip

1.69 KB, 下载次数: 3

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-3-16 20:51:28 | 显示全部楼层    本楼为最佳答案   

回帖奖励 +2 鱼币

  1. # 打开文件并读取内容
  2. with open('iso.txt', 'r') as f:
  3.     lines = f.read().splitlines()

  4. # 定义一个字典来存储单词的出现次数
  5. word_count = {}

  6. # 遍历每一行文本
  7. for line in lines:
  8.     # 分割行成单词列表
  9.     words = line.split()

  10.     # 遍历每个单词
  11.     for word in words:
  12.         # 将单词添加到字典中并更新其出现次数
  13.         word_count[word] = word_count.get(word, 0) + 1

  14. # 输出每个单词出现的次数
  15. for word, count in word_count.items():
  16.     print(f"'{word}' 出现了 {count} 次")
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-3-16 21:17:52 | 显示全部楼层

回帖奖励 +2 鱼币

鱼币
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-3-16 21:19:40 | 显示全部楼层

回帖奖励 +2 鱼币

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-3-16 21:21:07 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-3-16 21:24:50 | 显示全部楼层
根据题目描述,我们需要编写一个程序来读取一个文件并计算该文件中每个单词的出现次数。

我们可以使用以下步骤来实现这个程序:

1、打开文件并读取文件内容。
2、将文件内容拆分为单词列表。
3、创建一个空字典,用于存储每个单词及其出现次数。
4、使用循环和条件执行语句遍历单词列表,并将每个单词添加到字典中,如果单词已经存在,则增加其出现次数。
5、打印每个单词及其出现次数。

下面是一个可以实现这些步骤的代码示例:

  1. def count_words(filename):
  2.     # Step 1: Open and read the file
  3.     with open(filename, 'r') as file:
  4.         content = file.read()
  5.    
  6.     # Step 2: Split the file content into a list of words
  7.     words = content.split()
  8.    
  9.     # Step 3: Create an empty dictionary to store word counts
  10.     word_counts = {}
  11.    
  12.     # Step 4: Loop over each word and add it to the dictionary, incrementing the count if it already exists
  13.     for word in words:
  14.         if word in word_counts:
  15.             word_counts[word] += 1
  16.         else:
  17.             word_counts[word] = 1
  18.    
  19.     # Step 5: Print the word counts using f-strings
  20.     for word, count in word_counts.items():
  21.         print(f'{word}: {count}')

  22. count_words('iso.txt')
复制代码


在这个示例中,我们定义了一个名为 count_words 的函数,它需要一个文件名作为输入。

然后,我们使用上下文管理器打开文件并读取文件内容。

接着,我们使用 split 函数将文件内容拆分为单词列表。

接下来,我们创建一个空字典来存储每个单词及其出现次数。

然后,我们使用循环遍历单词列表,并将每个单词添加到字典中。如果单词已经存在,则增加其出现次数。

最后,我们使用 f-strings 打印每个单词及其出现次数。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2023-3-16 21:25:43 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-3-17 07:13:30 From FishC Mobile | 显示全部楼层
sfqxx 发表于 2023-3-16 21:17
鱼币


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-3-17 10:09:42 | 显示全部楼层
isdkz 发表于 2023-3-16 21:24
根据题目描述,我们需要编写一个程序来读取一个文件并计算该文件中每个单词的出现次数。

我们可以使用以 ...

大哥的答案也非常好,不过可惜最佳答案只能给一个
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-3-17 10:39:54 | 显示全部楼层

能再请问一下怎么把iso.txt文件导入pycharm嘛?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-3-17 11:21:40 | 显示全部楼层
isdkz 发表于 2023-3-16 21:24
根据题目描述,我们需要编写一个程序来读取一个文件并计算该文件中每个单词的出现次数。

我们可以使用以 ...

请问大佬,怎么样才可以用pycharm加载本地的这个文件呢?具体操作可以讲一下吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-3-18 16:05:51 | 显示全部楼层
纯爱战士Dylan1 发表于 2023-3-17 10:39
能再请问一下怎么把iso.txt文件导入pycharm嘛?

拖拽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-20 15:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表