【问题标题】:Printing long interger in python up to 10 digits在python中打印最多10位的长整数
【发布时间】:2014-08-31 08:50:52
【问题描述】:

我正在尝试取两个用空格分隔的长输入整数(最多 10 位)并在那里显示总和。

我把输入变成了一个用空格分隔的字符串,然后将它们拆分。之后,我将他们输入到int

print "Enter two numbers"
a = raw_input()
a.split(" ")
sum = int(a[0]) + int(a[2])
print "\r", sum

如果数字是两位数,我无法打印总和。

【问题讨论】:

  • a = raw_input().split(' ')

标签: python python-2.7


【解决方案1】:

你忽略了str.split()的返回值:

a.split(" ")

将其分配回a

a = a.split(" ")

Python 字符串是不可变的,你不能就地拆分a 的值(更不用说替换类型,拆分返回一个列表对象而不是一个新字符串)。

【讨论】:

  • 我认为不变性并不是真正的问题,因为操作的结果是一个列表,而不是一个字符串。
  • @TimPietzcker:没错,但期望a 会在原地发生变异。
  • 是的,这种期望显然是错误的。但是“变异”意味着改变对象的内容,而不是创建不同的对象并将其绑定到相同的名称。在此处使用该术语可能会使 OP 更加困惑。也许 Ned Batchelder 的 Facts and myths about Python names and values 链接可能会有所帮助(供以后阅读)。
猜你喜欢
  • 2021-09-18
  • 1970-01-01
  • 2017-05-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-14
  • 1970-01-01
  • 2013-01-21
相关资源
最近更新 更多