Skip to main content
 首页 » 编程设计

Python之用户输入的第二小数字

2024年08月12日33think

我找到了一个 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: 
    ...