我找到了一个 YouTube video使用程序查找列表中第二小的数字。我正在尝试修改此代码以使其适用于用户输入。这是视频中的代码:
numbers = [ 6, 6, 6, 4, 3, 4, 5 ]
print(f"Number: {numbers}")
first = 10000
second = 10000
for number in numbers:
if number < first:
second = first
first = number
elif number > first and number < second:
second = number
print(f"First: {first}")
print(f"Second: {second}")
这就是我目前所拥有的,但输出始终是 99,我不知道如何解决它。 (我使用 python 2.7)
list = str(raw_input())
first = 99
second = 99
for number in list:
if number < first:
second = first
first = number
elif first < number < second:
second = number
print "The second smallest number is : %d" % second
我知道已经有一些关于这个主题的问题,但它们都与函数有关,但我还不知道如何使用它们。
请您参考如下方法:
str() 和 raw_input() 返回字符串,而不是列表。如果你想获得用户输入的单词列表,你需要使用 split()。然后您需要使用 int() 将它们转换为整数。
此外,您不应该使用 list 作为变量名,因为它是内置函数的名称。
number_list = map(int, raw_input().split())
for number in number_list:
...
