我列表中的最后一个值不会转换为整数
The last value in my list will not convert into integer
我正在编写一个代码,我在其中从用户那里获取值,直到他们输入 '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)
擦除这个我可以看到列表中的最后一个值不会转换为整数。我不知道为什么会这样,我尝试了无数次字符串列表到整数列表的转换,但它们都从不转换最后一个值。有人知道这是为什么吗?
问题是 num
是用户输入的字符串,您必须像这样将其转换为整数
if int(num) % 2 == 0:
integer.append(int(num))
你可以这样做:
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 = 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)
我正在编写一个代码,我在其中从用户那里获取值,直到他们输入 '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)
擦除这个我可以看到列表中的最后一个值不会转换为整数。我不知道为什么会这样,我尝试了无数次字符串列表到整数列表的转换,但它们都从不转换最后一个值。有人知道这是为什么吗?
问题是 num
是用户输入的字符串,您必须像这样将其转换为整数
if int(num) % 2 == 0:
integer.append(int(num))
你可以这样做:
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 = 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)