【问题标题】:ValueError: invalid literal for int() with base 10: 'D1'ValueError:int() 的无效文字,基数为 10:'D1'
【发布时间】:2021-12-18 02:04:23
【问题描述】:

我有一个使用 Python 模块开发的程序 /model。这里的问题是一个参数(聚合物的增长链)被预定义为一个 f-string。我打算操纵这个参数来获得与问题相关的其他重要数学关系。

例如,f"D{n}"- 是一个预定义的物种(一种正在生长的聚合物)但是,我打算获得以下表达式:

D=104;
max_state=10
for n in range(1,max_state-1):
    Ws=sum(int(f"D{n}"))
print(Ws)

我收到以下错误:

ValueError: int() 以 10 为底的无效文字:'D1'

还有,

X=(M0-int(f"D{n}"))/M0
print(X)

给出这个错误:

ValueError: int() 以 10 为底的无效文字:'D1'

我可以做些什么来解决这个问题?

【问题讨论】:

  • 您无法将以D 开头的字符串转换为数字。
  • sum() 的参数应该是一个数字序列。你想通过只给它一个整数来做什么?
  • 你要不要D * n
  • 您的预期结果是什么?
  • D5, D87 是几号?

标签: python


【解决方案1】:

这里你需要大括号中的 D 变量,否则它会被解释为只是字符。

试试这个:

f"{D}*{n}"

【讨论】:

    猜你喜欢
    • 2021-08-06
    • 2018-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-17
    • 2018-01-20
    • 2017-12-16
    • 1970-01-01
    相关资源
    最近更新 更多