Итак, я представил это для курса Cousera на базовом питоне (я очень новичок в написании кода). Это сработало. Тем не менее, я нашел в нем ошибку (которую я рад, что вижу и убил горем, потому что он существует).Python 2.7 отладка базового кода
Проблема заключается в том, что если наименьшее число в строке чисел является , то первый номер, учитывая, что он поглощается самой большой переменной, а не самой маленькой переменной. Как я мог предотвратить это?
Заранее благодарен!
код ниже:
largest = -1
smallest = None
while True:
try:
num = raw_input('number\n')
float(num)
if num > largest:
largest = num
elif smallest is None:
smallest = num
elif smallest > num:
smallest = num
except:
if num =="Done":
print "Maximum is", largest
print "Minimum is", smallest
break
print "Invalid input"
переназначение Num это не только хорошая мера, это необходимо! пример OP 'float (num)' преобразует вход в float, а затем сразу же отбрасывает его! – turbulencetoo
@turbulencetoo - переменные Python не печатаются, и он вызывает просто 'float (num)' без переназначения, чтобы он генерировал исключение до блока дозорного. Я сделал это так, чтобы десятичные числа не могли интерпретироваться и сравниваться как строки. –
Я удивлен, узнав, что существует '>', который позволяет сравнивать между 'str' и' int', обычно python строго придерживается тех видов сопоставлений. – turbulencetoo