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
CodePudding user response:
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)
CodePudding user response:
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
CodePudding user response:
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)}')
CodePudding user response:
solution
sum=0
for i in range(2,1001,2):
sum =i
if i == 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
another solution with better run time performance
print("".join(["\n" str(i) if i ==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)))