【问题标题】:Zero in-front of a number getting deleted数字前面的零被删除
【发布时间】:2021-10-02 06:11:31
【问题描述】:

下面的程序 sn-p 运行良好,除了以 0 开头的输入之外的任何输入

NK = list(map(int,input().split()))
string = input()
print(string)
n = int(string)
A = [int(x) for x in str(n)]
print(A)

N = NK[0]
K = NK[1]

for i in range(K):
    temp = A[0]
    for j in range(0,len(A)-1):
        A[j] = A[j+1]
    A[N-1] = temp
print(A)

输入

5 3
01111

我收到错误,因为在将字符串转换为 int 时,前导 0 被删除。 有没有办法阻止这种情况发生?

【问题讨论】:

  • 你能说出你的程序做了什么,你的预期输出
  • 为什么要将输入转换为int,然后又转换回str?你有n = int(string),那么你唯一使用n的地方,你马上做str(n)
  • 循环左移K号。次@Sujay

标签: python string binary


【解决方案1】:

删除以下行:

n = int(字符串)

并更改此行:

A = [int(x) for x in str(n)]

到这里:

A = [int(x) for x in string]

【讨论】:

  • 您能否清除我的疑问,为什么将整个字符串转换为整数前导零会被忽略?-@Hami
  • 亲爱的@RishavMitra 整数中的前导零没有任何意义。如果你在一个数字前面加上任意数量的零,则对数字的值没有影响。等式:10 = 0000000000010
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-10-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-23
相关资源
最近更新 更多