+ 1

Please update the code...

This code takes numbers from the user... Then removes spaces between them... In the loop, each number first becomes integer then if i % 2 == 0 in short, if it's even then sum gets it... So this code calculates the sum of even numbers entered by the user... But if I enter 11 12 13 14 15... it separates them too... How can I overcome this problem... https://code.sololearn.com/cmi5h0Umtn0U/?ref=app

11th Jan 2021, 12:54 PM
Name
Name - avatar
4 odpowiedzi
+ 8
numbers = [int(i) for i in input().split()] "input().split()" splits the given input or string by whitespace by default, (you can split string with whatever character you want) For example: INPUT: 1 2 3 4 >> ["1", "2", "3" "4"] But they are taken as a string because input() takes input as string by default, therefore we need to use list comprehension to convert each element into integer. [int(i) for i in input().split()] https://code.sololearn.com/c7eXjIByCX4d/?ref=app
11th Jan 2021, 1:01 PM
noteve
noteve - avatar
+ 8
Name , you are about to finish the python tutorial and i assume that you have already some experience. here is quite compact code: numbers = list(map(int, input().split())) print(sum([num for num in numbers if num % 2 == 0])) - the first line uses map which applies the int conversion to each element coming from input.split() it creates a list of int numbers - the second line is a list comprehension with a if... conditional. the crated numbers will be summarized and printed
11th Jan 2021, 4:04 PM
Lothar
Lothar - avatar
+ 2
Thanks Nicko 12
11th Jan 2021, 1:06 PM
Name
Name - avatar
0
Thanks, Lothar
11th Jan 2021, 4:10 PM
Name
Name - avatar