| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1797 人关注过本帖
标题:求助,这个程序为什么停不下来?
只看楼主 加入收藏
zlfpass
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2019-7-9
收藏
 问题点数:0 回复次数:2 
求助,这个程序为什么停不下来?
程序代码:
a=int(input("请输入四位不完全相同的整数:"))
d=[]

def fjsz(n):
      i=0
      del d[:]
      while i<4:
            
            
            c=int((n[i]))
            i+=1
            d.append(c)
      
      return(d)
def xzpx(x):
      
      x=x.sort(reverse=True)
      
      return(x)

def qds():
      
      global dashu
      dashu=''
      i=0
      while i<4:
            dashu=str(dashu)+str((d[i]))
            i+=1
            dashu=int(dashu)
      return(dashu)
def qxs():
      global xiaoshu
      xiaoshu=''
      i=3
      while i>=0:
            xiaoshu=str(xiaoshu)+str((d[i]))
            i-=1
            xiaoshu=int(xiaoshu)
      return(xiaoshu)
def szhd6174(c):
      print(c)
      while c!=6174:
            print(c)
            fjsz(str(c))
            xzpx(d)
            print(d)
            qds()
            print(dashu)
            qxs()
            print(xiaoshu)
            z=dashu-xiaoshu
            print(z)
            print('-----')
            szhd6174(z)
szhd6174(a)

图片附件: 游客没有浏览图片的权限,请 登录注册

方框中变量不知为啥变了,停不下来?
搜索更多相关主题的帖子: int def while str print 
2019-07-09 07:45
zlfpass
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2019-7-9
收藏
得分:0 
回复 楼主 zlfpass
在其他论坛已经找到答案,return x None 是因为x.sort(reverse=True)改娈了列表,没有返回值,所以显示None,停不下来,应该是while加while造成了死循环,可以将第一个while换成 if,或将下面一个while去掉,上面改成c=dashu-xiaoshu;print(c);#szhd6174(z)这样就已经一直在循环了!
收到的鲜花
  • 静夜思2019-07-09 21:06 送鲜花  10朵   附言:赞分享精神
2019-07-09 21:02
Jin_Mr
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2019-7-9
收藏
得分:0 
回复 2楼 zlfpass
老哥,厉害
2019-07-10 09:59
快速回复:求助,这个程序为什么停不下来?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016968 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved