【问题标题】:Add a user specified number to a number already in a file. (python)将用户指定的号码添加到文件中已有的号码。 (Python)
【发布时间】:2012-03-02 09:57:07
【问题描述】:

我知道这可能是一个愚蠢的问题,但我似乎无法真正做到。

我正在尝试这样做:

f = open("txtfiles/c.txt", "r")
c = f.read()
int(c)
ca = float(input("Enter Cash to Add: "))
int(ca)
cn= c+ca
print (cn)

我试图说它们都是浮点数,以便可以正确添加它们,因为我需要用户能够添加小数,但是当我这样做时,我会得到 TypeError: 无法将 'float' 对象隐式转换为 str

我在互联网上搜索过,我发现这个错误出现了很多,但实际上似乎没有任何帮助。

很抱歉这个菜鸟问题,但任何建议都将不胜感激。

【问题讨论】:

  • 请缩进/格式化代码。

标签: python python-3.x


【解决方案1】:

当您执行int(c) 时,这将从字符串c 生成一个整数,但您不会将它分配给任何东西。在您的情况下,c 仍然是一个字符串。将该行更改为:

    c = int(c)

更好的是,既然您也想添加小数,为什么不直接使用浮点数并跳过整数转换?

    f = open("txtfiles/c.txt", "r")
    c = float(f.read())
    ca = float(input("Enter Cash to Add: "))
    cn = c + ca
    print cn

【讨论】:

  • 谢谢你帮了我很多
【解决方案2】:

怎么样

with open("txtfiles/c.txt", "rU") as f:
    cn=float(f.read())+float(raw_input("Enter Cash to Add: "))
    print(cn)

使用with 将在块退出时自动关闭您的文件,因此您不会意外将其保持打开状态。使用'rU' 作为文件模式将为您处理newline madness

【讨论】:

  • (不得不改变一些东西,所以它实际上可以与 3.2 一起使用)我尝试使用
猜你喜欢
  • 2020-12-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-02
  • 1970-01-01
相关资源
最近更新 更多