有什么方法可以消除错误?

时间:2019-05-24 11:55:15

标签: python input

两天后我开始使用python进行编码。在hackerrank中,我正在解决问题,但无法在此代码中找到错误。 这是问题所在。

对数组的左旋转操作将数组的每个元素单元向左移动。例如,如果对array执行左旋转,则该数组将变为。

给出一个整数和一个数字数组,对数组执行左旋转。返回更新后的数组,将其打印为单行以空格分隔的整数。

功能说明

在下面的编辑器中完成rotLeft函数。它应该返回结果的整数数组。

rotLeft具有以下参数:

整数数组。 整数,转数。

输入格式

第一行包含两个以空格分隔的整数,并且必须执行的大小和向左旋转的次数。 第二行包含以空格分隔的整数。

输出格式

执行左旋转后,打印一行以空格分隔的整数,表示数组的最终状态。

这是我的代码

import math
import os
import random
import re
import sys

n , d = input().split()
a = d % n
b = n - a
l = []
while(n>0):
    k = input().split()
    l.append(k)
    n=n-1
while(b>0):
    l.append(l[0])
    l.pop()
    b=b-1 
print(l)

它显示了运行时错误。

回溯(最近通话最近):   在第8行的文件“ Solution.py”中     a = d%n TypeError:不是所有在格式化字符串期间转换的参数

2 个答案:

答案 0 :(得分:2)

input()的结果是一个字符串,您将其拆分为两个字符串。线

a = d % n

尝试使用使用百分号的较早的字符串格式语法,因为d是一个字符串。如果要将%用作模运算符,则需要先将dn转换为数字。

n, d = input().split()
n, d = float(n), float(d)

答案 1 :(得分:0)

n , d = input().split()

应替换为

n , d = input().split()
x, y = [int(x), int(y)]

该错误是由于x和y都是字符串,您需要将它们转换为整数