所以我提交了一个关于基本python的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,然后立即丢弃该float! – turbulencetoo
@turbulencetoo - Python变量没有输入,他只是调用'float(num)'而无需重新分配,让它将异常向下引发到标记块。我做到了,所以十进制数字不能被解释和比较为字符串。 –
我很惊讶地发现有一个''''定义可以让你比较'str'和'int',通常python对这些比较是严格的。 – turbulencetoo