Reputation: 13
I have seen some examples of printing numbers per line, but I still didn't get it:( I've tested \n but it didn't show up the result and I don't know why it won't work as I'm new to python, thank you so much!!!!!
My codes:
sum=0
sq=""
for i in range (0+2,1000+1,2):
sum+=i
if i<1000:
sq=sq+str(i)+","
else:
sq=sq+str(i)
print(sq, end="\n")
print("Sum of all even numbers within 1 and 1000 =",sum)
My output:
2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,118,120,122,124,126,128,130,132,134,136,138,140,142,144,146,148,150,152,154,156,158,160,162,164,166,168,170,172,174,176,178,180,182,184,186,188,190,192,194,196,198,200,202,204,206,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236,238,240,242,244,246,248,250,252,254,256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,312,314,316,318,320,322,324,326,328,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,376,378,380,382,384,386,388,390,392,394,396,398,400,402,404,406,408,410,412,414,416,418,420,422,424,426,428,430,432,434,436,438,440,442,444,446,448,450,452,454,456,458,460,462,464,466,468,470,472,474,476,478,480,482,484,486,488,490,492,494,496,498,500,502,504,506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,564,566,568,570,572,574,576,578,580,582,584,586,588,590,592,594,596,598,600,602,604,606,608,610,612,614,616,618,620,622,624,626,628,630,632,634,636,638,640,642,644,646,648,650,652,654,656,658,660,662,664,666,668,670,672,674,676,678,680,682,684,686,688,690,692,694,696,698,700,702,704,706,708,710,712,714,716,718,720,722,724,726,728,730,732,734,736,738,740,742,744,746,748,750,752,754,756,758,760,762,764,766,768,770,772,774,776,778,780,782,784,786,788,790,792,794,796,798,800,802,804,806,808,810,812,814,816,818,820,822,824,826,828,830,832,834,836,838,840,842,844,846,848,850,852,854,856,858,860,862,864,866,868,870,872,874,876,878,880,882,884,886,888,890,892,894,896,898,900,902,904,906,908,910,912,914,916,918,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962,964,966,968,970,972,974,976,978,980,982,984,986,988,990,992,994,996,998,1000
Sum of all even numbers within 1 and 1000 = 250500
How can we achieve an output like this by using for loop:
2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40
42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80
…
922, 924, 926, 928, 930, 932, 934, 936, 938, 940, 942, 944, 946, 948, 950, 952, 954,956, 958, 960
962, 964, 966, 968, 970, 972, 974, 976, 978, 980, 982, 984, 986, 988, 990, 992, 994, 996, 998, 1000
Sum of all even numbers within 1 and 1000 = 250500
Upvotes: 1
Views: 151
Reputation: 1458
sum=0
for i in range(2,1001,2):
sum+=i
if i%20 == 2: print("\n{}".format(i),end="") # print new line per 20 numbers
else: print(", {}".format(i),end="")
print("\nSum of all even numbers within 1 and 1000 =",sum)
Output:
2, 4, 6, 8, 10, 12, 14, 16, 18, 20
22, 24, 26, 28, 30, 32, 34, 36, 38, 40
...
962, 964, 966, 968, 970, 972, 974, 976, 978, 980
982, 984, 986, 988, 990, 992, 994, 996, 998, 1000
Sum of all even numbers within 1 and 1000 = 250500
print("".join(["\n"+str(i) if i%20==2 else ", "+str(i) for i in range(2,1001,2)]))
print("\nSum of all even numbers within 1 and 1000 =",sum(range(2,1001,2)))
Upvotes: 0
Reputation: 16081
Try this,
lst = [i for i in range(2,1001,2)]
for i in range(0, len(lst), 20):
print(','.join(str(i) for i in lst[i:i+20]))
print(f'Sum of all even numbers within 1 and 1000 : {sum(lst)}')
Upvotes: 0
Reputation: 4251
Uisng textwrap
Inbuilt Library
import textwrap
import re
sum=0
sq=""
for i in range (0+2,1000+1,2):
sum+=i
if i<1000:
sq=sq+str(i)+","
else:
sq=sq+str(i)
#print(sq, end="\n")
print('\n'.join(textwrap.wrap(sq, 20)))#Mask n here
print("Sum of all even numbers within 1 and 1000 =",sum)
#output
2,4,6,8,10,12,14,16,18,20,22,24,26,28,30
,32,34,36,38,40,42,44,46,48,50,52,54,56,
58,60,62,64,66,68,70,72,74,76,78,80,82,8
4,86,88,90,92,94,96,98,100,102,104,106,1
08,110,112,114,116,118,120,122,124,126,1
28,130,132,134,136,138,140,142,144,146,1
48,150,152,154,156,158,160,162,164,166,1
68,170,172,174,176,178,180,182,184,186,1
88,190,192,194,196,198,200,202,204,206,2
08,210,212,214,216,218,220,222,224,226,2
28,230,232,234,236,238,240,242,244,246,2
48,250,252,254,256,258,260,262,264,266,2
68,270,272,274,276,278,280,282,284,286,2
88,290,292,294,296,298,300,302,304,306,3
08,310,312,314,316,318,320,322,324,326,3
28,330,332,334,336,338,340,342,344,346,3
48,350,352,354,356,358,360,362,364,366,3
68,370,372,374,376,378,380,382,384,386,3
88,390,392,394,396,398,400,402,404,406,4
08,410,412,414,416,418,420,422,424,426,4
28,430,432,434,436,438,440,442,444,446,4
48,450,452,454,456,458,460,462,464,466,4
68,470,472,474,476,478,480,482,484,486,4
88,490,492,494,496,498,500,502,504,506,5
08,510,512,514,516,518,520,522,524,526,5
28,530,532,534,536,538,540,542,544,546,5
48,550,552,554,556,558,560,562,564,566,5
68,570,572,574,576,578,580,582,584,586,5
88,590,592,594,596,598,600,602,604,606,6
08,610,612,614,616,618,620,622,624,626,6
28,630,632,634,636,638,640,642,644,646,6
48,650,652,654,656,658,660,662,664,666,6
68,670,672,674,676,678,680,682,684,686,6
88,690,692,694,696,698,700,702,704,706,7
08,710,712,714,716,718,720,722,724,726,7
28,730,732,734,736,738,740,742,744,746,7
48,750,752,754,756,758,760,762,764,766,7
68,770,772,774,776,778,780,782,784,786,7
88,790,792,794,796,798,800,802,804,806,8
08,810,812,814,816,818,820,822,824,826,8
28,830,832,834,836,838,840,842,844,846,8
48,850,852,854,856,858,860,862,864,866,8
68,870,872,874,876,878,880,882,884,886,8
88,890,892,894,896,898,900,902,904,906,9
08,910,912,914,916,918,920,922,924,926,9
28,930,932,934,936,938,940,942,944,946,9
48,950,952,954,956,958,960,962,964,966,9
68,970,972,974,976,978,980,982,984,986,9
88,990,992,994,996,998,1000
Sum of all even numbers within 1 and 1000 = 250500
Also
import textwrap
import re
sum=0
sq=""
for i in range (0+2,1000+1,2):
sum+=i
if i<1000:
sq=sq+str(i)+","
else:
sq=sq+str(i)
#print(sq, end="\n")
print (textwrap.fill(sq, 20))
print("Sum of all even numbers within 1 and 1000 =",sum)
#same output
Upvotes: 0
Reputation: 737
firstly, sum
is a protected keyword since it is the list sum function, so don't call any variables "sum".
to split the string, try:
sum=0
sq=""
for i in range (0+2,1000+1,2):
sum+=i
if i<1000:
sq=sq+str(i)+", "
else:
sq=sq+str(i)
if i % 40 == 0:
sq += "\n"
print(sq, end="\n")
print("Sum of all even numbers within 1 and 1000 =",sum)
Upvotes: 1