猿问

我的列表中的最后一个值不会转换为整数

我正在编写一段代码,在其中从用户那里获取值,直到他们输入“q”。然后我必须按升序打印偶数。我的程序该怎么做,我只是遇到了一个小问题,我不知道如何解决。


我的代码是:


integer = []

g = 7

while g > 1:                # Initiate loop

    num = input('Enter an integer or press q to quit.  ')

    if num == 'q':

        break

    integer = list(map(int, integer))

    if num % 2 == 0:

        integer.append(num)



integer.sort()

print(integer)

运行此代码会出现错误:并非所有字符串都已转换。所以我然后删除了第二个 if 语句:


 if num % 2 == 0:

        integer.append(num)

删除这个我可以看到列表中的最后一个值不会转换为整数。我不知道为什么会这样,我尝试了许多字符串列表到整数列表的转换,但它们都从不转换最后一个值。有人知道这是为什么吗?


Smart猫小萌
浏览 127回答 3
3回答

婷婷同学_

你可以这样做:evens = []while True:                # Initiate infinite loop    num = input('Enter an integer or press q to quit.  ')    if num == 'q':        break    num = int(num)  #convert the num to int    if num % 2 == 0:        evens.append(num)evens.sort()print(evens)

吃鸡游戏

更正的代码:integer = []g = 7while g > 1:                # Initiate loop    num = input('Enter an integer or press q to quit.  ')    if num == 'q':        break    num = int(num) #convert input to integer    if num % 2 == 0:        integer.append(num)integer.sort()print(integer)

qq_遁去的一_1

问题是num来自用户输入的字符串,您必须将其转换为这样的整数if int(num) % 2 == 0:     integer.append(int(num))
随时随地看视频慕课网APP

相关分类

Python
我要回答