当前位置:  开发笔记 > 编程语言 > 正文

排序列表时为什么python说12 <2?

如何解决《排序列表时为什么python说12<2?》经验,为你挑选了1个好方法。

此代码通常所说的最小数量在列表前面在输入的名单,但出于某种原因,每当122被inputed像这样Please enter your cards(x, y, z,...): 12, 2它输出

12, 2
12, 2

这是代码:

#!/usr/bin/python2.7
cards_input = raw_input("Please enter your cards(x, y, z, ...): ")
print cards_input
cards = cards_input.split(", ")

minimum = min(cards)
cards.remove(min(cards))
cards.insert(0, minimum)

print cards

我怎样才能解决这个问题?



1> rdegges..:

您目前正在将这些数字作为STRINGS进行比较,例如:'12'<'2'.

因为进行字符串比较时'12'是<'2'('1'的数值低于'2'),这意味着评估看起来很时髦.

你想要做的是比较这些数字的整数值,例如:

int('12') < int('2')

将您的代码更改为以下内容:

#!/usr/bin/python2.7
cards_input = raw_input("Please enter your cards(x, y, z, ...): ")
print cards_input
cards = [int(x) for x in cards_input.split(", ")]

minimum = min(cards)
cards.remove(min(cards))
cards.insert(0, minimum)

print cards

推荐阅读
手机用户2402852307
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有