![]() |
Sort without using sort - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: Homework (https://python-forum.io/forum-9.html) +--- Thread: Sort without using sort (/thread-5123.html) |
Sort without using sort - qhnguyen - Sep-20-2017 Text file: 425 300 1 50 10 15 6 9 3 2 12 6 70 69 71 1 2 3 My code: #Project#1-Quyen Nguyen file="Project1.txt" infile=open(file) count=0 for line in infile: strip_line=line.rstrip() count=count+1 strip_line=line.split() value0=strip_line[0] value1=strip_line[1] value2=strip_line[2] numval0=int(value0,base=10) numval1=int(value1,base=10) numval2=int(value2,base=10) print("line#,numval0,numval1,numval2) I just take the class for 2 week and I am stuck with my HW. My question is how can i sort it in numerical order without using sort. RE: Sort without using sort - wavic - Sep-20-2017 You could list.pop() min(list_object) or max(list_object) to get the lowest or higher value to create a sorted list. RE: Sort without using sort - ichabod801 - Sep-20-2017 If you haven't learned pop yet, another way to do it is:
RE: Sort without using sort - qhnguyen - Sep-21-2017 file="Project1.txt" infile=open(file) line1=infile.readline() data1=line1.split(" ") numval0_line1=int(data1[0],base=10) numval1_line1=int(data1[1],base=10) numval2_line1=int(data1[2],base=10) #Set up count count=0 #Working on line1: list1=[numval0_line1,numval1_line1,numval2_line1] min1=min(list1) max1=max(list1) mid1=sum(list1)-max1-min1 while count<1: count=count+1 print("line#",count,"-","Lowest to Highest:",min1,",",mid1,",",max1) line2=infile.readline() data2=line2.split(" ") numval0_line2=int(data2[0],base=10) numval1_line2=int(data2[1],base=10) numval2_line2=int(data2[2],base=10) list2=[numval0_line2,numval1_line2,numval2_line2] max2=max(list2) min2=min(list2) mid2=sum(list2)-max2-min2 while count<2: count=count+1 print("line#",count,"-","Lowest to Highest:",min2,",",mid2,",", max2) line3=infile.readline() data3=line3.split(" ") numval0_line3=int(data3[0],base=10) numval1_line3=int(data3[1],base=10) numval2_line3=int(data3[2],base=10) list3=[numval0_line3,numval1_line3,numval2_line3] max3=max(list3) min3=min(list3) mid3=sum(list3)-max3-min3 while count<3: count=count+1 print("line#",count,"-","Lowest to Highest:",min3,",",mid3,",",max3) line4=infile.readline() data4=line4.split(" ") numval0_line4=int(data4[0],base=10) numval1_line4=int(data4[1],base=10) numval2_line4=int(data4[2],base=10) list4=[numval0_line4,numval1_line4,numval2_line4] max4=max(list4) min4=min(list4) mid4=sum(list4)-max4-min4 while count<4: count=count+1 print("line#",count,"-","Lowest to Highest:",min4,",",mid4,",",max4) line5=infile.readline() data5=line5.split() numval0_line5=int(data5[0],base=10) numval1_line5=int(data5[1],base=10) numval2_line5=int(data5[2],base=10) list5=[numval0_line5,numval1_line5,numval2_line5] max5=max(list5) min5=min(list5) mid5=sum(list5)-max5-min5 while count<5: count=count+1 print("line#",count,"-","Lowest to Highest:",min5,",",mid5,",",max5) line6=infile.readline() data6=line6.split() numval0_line6=int(data6[0],base=10) numval1_line6=int(data6[1],base=10) numval2_line6=int(data6[2],base=10) list6=[numval0_line6,numval1_line6,numval2_line6] max6=max(list6) min6=min(list6) mid6=sum(list6)-max6-min6 while count<6: count=count+1 print("line#",count,"-","Lowest to Highest:",min6,",",mid6,",",max6) I just finish the homework base on you guys idea. thank you alot #END RE: Sort without using sort - nilamo - Sep-21-2017 (Sep-21-2017, 02:31 AM)qhnguyen Wrote: numval0_line6=int(data6[0],base=10) In most numbering systems currently in use in the world, base 10 is used. Thus, it's the default for int(). So there's no need to pass it, you could just numval0_line6 = int(data6[0]) .
|