l
- список строк. Когда вы помещаете числа в одинарные кавычки, вы создаете строки, представляющие собой последовательность символов. Чтобы ваш код работал правильно, вам нужно сделать следующее:
l = [-1.2, 0.0, 1] # no quotation marks
x = 100.0
for i in l:
if i < x:
x = i
print x
Если вам нужно использовать список строк, вы можете попытаться позволить Python попытаться сделать число из каждой строки. Это похоже на ответ Джастина , за исключением того, что он правильно понимает числа с плавающей запятой (десятичные).
l = ['-1.2', '0.0', '1']
x = 100.0
for i in l:
inum = float(i)
if inum < x:
x = inum
print x
Я надеюсь, что это код, который вы пишете для изучения Python или программирования в целом. Если это так, отлично. Однако, если это рабочий код, рассмотрите возможность использования встроенных функций Python.
l = ['-1.2', '0.0', '1']
lnums = map(float, l) # turn strings to numbers
x = min(lnums) # find minimum value
print x