CodingNoStop 2021-03-05 18:42 采纳率: 40%
浏览 27

有没有大哥帮我这个滞涨看看这个bug,晕了

这是我写的代码,题目链接在下面

number,text=eval(input()),input().split()
lis=[]
for p in text:
    p=int(p)
    print(p)
    num=p
    a=1
    while p>1:
        if p%2==0:
           p/=2
           p=int(p)
           print(p)
           if str(p) in text:
                a=0
                break
        if p%2!=0:
           p=(3*p+1)/2
           p=int(p)
           print(p)
           if str(p) in text:
                a=0
                break
    if a==1:
          lis+=str(num)
lis=sorted(lis,key=lambda x:int(x),reverse=True)
print(' '.join(lis))

我在运行的时候输入了一个'1 3'的例子,然后p一直在循环,不跳出我也不知道为啥...

 

  • 写回答

1条回答 默认 最新

  • 垃圾管理员 2021-03-05 19:38
    关注

    23行的if缩进,这个if分支应该属于while内部,现在是平级的。

    评论

报告相同问题?

悬赏问题

  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥50 安装华大九天aether
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)