Car*_*erd -2 python sorting list
此代码通常所说的最小数量在列表前面在输入的名单,但出于某种原因,每当12和2被inputed像这样Please enter your cards(x, y, z,...): 12, 2它输出
12, 2
12, 2
Run Code Online (Sandbox Code Playgroud)
这是代码:
#!/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
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?
您目前正在将这些数字作为STRINGS进行比较,例如:'12'<'2'.
因为进行字符串比较时'12'是<'2'('1'的数值低于'2'),这意味着评估看起来很时髦.
你想要做的是比较这些数字的整数值,例如:
int('12') < int('2')
Run Code Online (Sandbox Code Playgroud)
将您的代码更改为以下内容:
#!/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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
61 次 |
| 最近记录: |