为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Smart猫小萌 2023-10-06 16:43:59
我正在编写一段代码,在其中从用户那里获取值,直到他们输入“q”。然后我必须按升序打印偶数。我的程序该怎么做,我只是遇到了一个小问题,我不知道如何解决。我的代码是:integer = []g = 7while 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)删除这个我可以看到列表中的最后一个值不会转换为整数。我不知道为什么会这样,我尝试了许多字符串列表到整数列表的转换,但它们都从不转换最后一个值。有人知道这是为什么吗?
查看完整描述

3 回答

?
婷婷同学_

TA贡献1844条经验 获得超8个赞

你可以这样做:


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)


查看完整回答
反对 回复 2023-10-06
?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

更正的代码:


integer = []

g = 7

while 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)


查看完整回答
反对 回复 2023-10-06
?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

问题是num来自用户输入的字符串,您必须将其转换为这样的整数

if int(num) % 2 == 0:
    integer.append(int(num))


查看完整回答
反对 回复 2023-10-06
  • 3 回答
  • 0 关注
  • 126 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信