【发布时间】:2019-05-26 14:39:03
【问题描述】:
我试图找出一个数字从其原始序列移动的次数。我按升序交换数字并计算交换次数;如果计数大于 3,我将退出循环。
但到目前为止,当我检查数字时,第一次迭代只执行 if 条件,之后它不检查条件。我试图理解为什么 if 条件没有执行。
def minimumBribes(q):
x=q.copy()
lis=[]
i=0
j=0
count=0
flag=0
while i< len(q):
k=j+1
a=q[j]
b=q[k]
print(a,b)
if a>b:
print(a>b)
x.pop(x.index(a))
x.insert(x.index(b),a)
print(x)
flag+=1
if flag>3:
print('Too chaotic')
break
else:
j+=1
i+=1
print(count)
if __name__ == '__main__':
t = int(input())
for t_itr in range(t):
n = int(input())
q = list(map(int, input().rstrip().split()))
minimumBribes(q)
【问题讨论】:
-
如果我的代码没有缩进我很抱歉我是新的堆栈溢出仍然试图弄清楚它是如何工作的
-
这是一个hackerrank问题iirc:hackerrank.com/challenges/new-year-chaos/problem - 您是否咨询了与您尝试解决的问题相关的hackerrank提示/提示页面?
-
你能缩进你的代码吗?无法理解 if 中的内容。
-
圆顶我已经编辑过了
标签: python python-3.x if-statement while-loop