Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在查找列表中第二大数的平方和python程序中,如何解决这个错误? def get_第二大(num): 最大=数值[0] 第二大=数值[0] 而i最大值: 第二大=最大 最大=num[i] elif num[i]>第二大: 第二大=nums[i] 返回第二大 i=int(输入(“输入数字”)) 列表_1=列表(即拆分(“,”) 第二大=获取第二大(列表1) 打印(“第二大数字为:”,第二大)_Python_Python 3.x - Fatal编程技术网

在查找列表中第二大数的平方和python程序中,如何解决这个错误? def get_第二大(num): 最大=数值[0] 第二大=数值[0] 而i最大值: 第二大=最大 最大=num[i] elif num[i]>第二大: 第二大=nums[i] 返回第二大 i=int(输入(“输入数字”)) 列表_1=列表(即拆分(“,”) 第二大=获取第二大(列表1) 打印(“第二大数字为:”,第二大)

在查找列表中第二大数的平方和python程序中,如何解决这个错误? def get_第二大(num): 最大=数值[0] 第二大=数值[0] 而i最大值: 第二大=最大 最大=num[i] elif num[i]>第二大: 第二大=nums[i] 返回第二大 i=int(输入(“输入数字”)) 列表_1=列表(即拆分(“,”) 第二大=获取第二大(列表1) 打印(“第二大数字为:”,第二大),python,python-3.x,Python,Python 3.x,我得到了什么 def get_second_largest(num): largest = num[0] second_largest = num[0] while i < len(num) : if num[i] > largest: second_largest = largest largest = num[i] elif num[i] > second_largest

我得到了什么

def get_second_largest(num):
    largest = num[0]
    second_largest = num[0]
    while i < len(num) :
        if num[i] > largest:
            second_largest = largest
            largest = num[i]
        elif num[i] > second_largest:
            second_largest = nums[i]
return second_largest


i = int(input("Enter Numbers "))
list_1 = list(i.split(" ,"))

second_largest = get_second_largest(list_1)
print("Second largest number is :", second_largest)
输入数字5 10
回溯(最近一次呼叫最后一次):
文件“C:\Users\user\Desktop\Python through atom\Find\u The\u Second\u max\u Num.py”,第15行,在
第二大=获取第二大(列表1)
文件“C:\Users\user\Desktop\Python through atom\Find\u Second\u max\u Num.py”,第4行,在get\u Second\u max中
而iTypeError:“当您使用Python内置函数读取某些输入时,它会将输入转换为字符串(去掉尾随的换行符)并返回该字符串

拆分时执行从
string
int
的显式转换将解决您的错误

>>> i = input("-->")
-->1 ,2 , 4 ,8
>>> i
'1 ,2 , 4 ,8'
>>> i.split(" ,")
['1', '2', ' 4', '8']
还有几件事需要指出:

  • int(输入(“输入”))
    抛出ValueError,因为如中所述,输入函数返回字符串
  • list(i.split(“,”)
    默认情况下返回单词列表。因此,不需要显式转换为list
  • 实现您的目标(即找到第二大数字)的一种更具python风格的方法是利用/内置函数和列表索引。(根据@mohideen bin mohammed的建议)

  • 当您使用Python内置函数读取某些输入时,它会将输入转换为字符串(去掉尾随的换行符)并返回该字符串

    拆分时执行从
    string
    int
    的显式转换将解决您的错误

    >>> i = input("-->")
    -->1 ,2 , 4 ,8
    >>> i
    '1 ,2 , 4 ,8'
    >>> i.split(" ,")
    ['1', '2', ' 4', '8']
    
    还有几件事需要指出:

  • int(输入(“输入”))
    抛出ValueError,因为如中所述,输入函数返回字符串
  • list(i.split(“,”)
    默认情况下返回单词列表。因此,不需要显式转换为list
  • 实现您的目标(即找到第二大数字)的一种更具python风格的方法是利用/内置函数和列表索引。(根据@mohideen bin mohammed的建议)
  • 最简单的方法

    >>> l = [int(n) for n in i.split(" ,")]
    >>> l
    [1, 2, 4, 8]
    
    你的错误是, 您正在比较字符串与字符串,即
    '10'>'20'
    这将导致Python3中出现错误,但在Python2中可能会起作用。 你不能用最简单的方法来做

    >>> l = [int(n) for n in i.split(" ,")]
    >>> l
    [1, 2, 4, 8]
    
    你的错误是, 您正在比较字符串与字符串,即
    '10'>'20'
    这将导致Python3中出现错误,但在Python2中可能会起作用。 你不能做>