首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将数字写入文本文件(逐行)并添加所有数字?

如何将数字写入文本文件(逐行)并添加所有数字?
EN

Stack Overflow用户
提问于 2021-12-09 18:34:30
回答 2查看 900关注 0票数 0

我在制作股票游戏的python版本。有股票价格,用户可以购买。我需要做一个东西,显示用户购买超过0股票时的平均价格。股票价格与随机因素有关。故事就是这样。但我想我可以做一个更小的代码,然后把这个代码放入游戏的代码中。这是一个小代码:

代码语言:javascript
复制
numA=int(input("Number 1: "))
numB=int(input("Number 2: "))

with open('average.txt','a') as avg:
  avg.write(str(numA))
  avg.write("\n")
  avg.write(str(numB))
  avg.write("\n")

如何在不执行类似于numA的操作的情况下,生成读取文本文件并对numAnumB进行求和的代码。我希望程序从文本文件中导入它,因为正如我所说的,我正在制作一个包含循环的更大的程序,我将使用文本文件作为内存。

EN

回答 2

Stack Overflow用户

发布于 2021-12-09 18:52:38

你想要这样的东西吗?

代码语言:javascript
复制
with open("New Text Document.txt", "r") as file:
    text = file.read()
    
    nums = text.replace("\n", " ").split(" ")
    nums = (int(i) for i in nums if i.isdigit())
    
    total = sum(nums)

我基本上是以读取模式读取文件,并将其存储在text变量中。然后,我用空格替换了所有的换行符,然后用空间E 211分割了字符串。然后,我使用生成器理解来检查元素i是否为数字,如果是,则将其添加到nums生成器中。最后,我使用和来得到nums生成器内数字的和。

或者你可以这样做:

代码语言:javascript
复制
with open("file", "r") as file:
    try:
        total = sum(map(int, file))
    except ValueError:
        print("File has to contain only numbers.")
票数 0
EN

Stack Overflow用户

发布于 2021-12-09 18:54:51

你可以试试这个:

代码语言:javascript
复制
import numpy as np   
with open('average.txt','r') as avg:
    lines = avg.readlines()
    Sum = np.sum([int(line.rstrip()) for line in lines], axis = 0)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70295023

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档