两天后我开始使用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:不是所有在格式化字符串期间转换的参数
答案 0 :(得分:2)
input()
的结果是一个字符串,您将其拆分为两个字符串。线
a = d % n
尝试使用使用百分号的较早的字符串格式语法,因为d
是一个字符串。如果要将%
用作模运算符,则需要先将d
和n
转换为数字。
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都是字符串,您需要将它们转换为整数