我正在编写一段代码,在其中从用户那里获取值,直到他们输入“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 回答
![?](http://img1.sycdn.imooc.com/533e4c0500010c7602000200-100-100.jpg)
婷婷同学_
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)
![?](http://img1.sycdn.imooc.com/54584e120001811202200220-100-100.jpg)
吃鸡游戏
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)
![?](http://img1.sycdn.imooc.com/5923e28b0001bb7201000100-100-100.jpg)
qq_遁去的一_1
TA贡献1725条经验 获得超7个赞
问题是num
来自用户输入的字符串,您必须将其转换为这样的整数
if int(num) % 2 == 0: integer.append(int(num))
添加回答
举报
0/150
提交
取消