【问题标题】:The digits of a number in ascending order. (comparing) [closed]按升序排列的数字的位数。 (比较)[关闭]
【发布时间】:2016-07-05 07:35:55
【问题描述】:
cc = input('Input the number: ')
b = str(cc)
c = []
for digit in b:
    c.append (int(digit))
    csort = c.sort(key=int)
    c == csort #??

我需要说TrueFalse,如果数字是按升序排列的。

我的代码不打印TrueFalse,为什么?

【问题讨论】:

  • 这里有什么问题?
  • 你没有打印任何东西。
  • 我该怎么做? (我需要应用布尔运算符)
  • if c == csort: print 'True' else: 'False 不要求解。
  • print c == csort ?

标签: python


【解决方案1】:

您不应在c.sort(key=int) 中使用key=int,因为c 已经是ints 的列表,因为您是通过c.append(int(digit)) 创建的。

但关键问题是c.sort() 是就地的,因此返回None,而不是使用sorted,它返回排序后的list

csort = sorted(c)

然后您可以通过以下方式打印比较的布尔结果:

print c == csort

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-07-30
    • 2014-01-08
    • 1970-01-01
    • 2011-08-28
    • 1970-01-01
    • 2013-06-06
    • 1970-01-01
    • 2011-05-08
    相关资源
    最近更新 更多