此代码通常所说的最小数量在列表前面在输入的名单,但出于某种原因,每当12
和2
被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
我怎样才能解决这个问题?
您目前正在将这些数字作为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