Facebook
From Putrid Bee, 3 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 65
  1. problema = 5
  2. # def promovat(ls,mini):
  3.     # for student in ls:              #read only
  4.     #     if 0 in student[2] or sum(student[2])<mini:
  5.     #         student+=(False,)
  6.     #     else:
  7.     #         student += (True,)
  8.  
  9. def promovat(ls,mini):
  10.     for i in range(len(ls)):              #read only
  11.         if 0 in ls[i][2] or sum(ls[i][2]) < mini:
  12.             ls[i] += (False,)
  13.         else:
  14.             ls[i] += (True,)
  15.  
  16. ls = [("Popescu Ion",   135, (5, 7, 3, 0, 4)),
  17.       ("Popa Anca",     131, (5, 7, 3)),
  18.       ("Mihai Ana",     135, (7, 3, 3, 2, 4)),
  19.       ("Mihai Ana",     132, (7, 0, 3, 0)),
  20.       ("Ionescu Clara", 131, (5, 0, 3)),
  21.       ("Adam Iulia",    135, (5, 5, 5, 3, 3))]
  22.  
  23. promovat(ls, 15)
  24.  
  25. #sortari:
  26. #crescător după grupă și în fiecare grupă în ordine alfabetică
  27.  
  28. def sortare1(t):
  29.     return t[1],t[0]
  30.  
  31.  
  32. # ls.sort(key=sortare1)
  33. #
  34. # print(*ls,sep='\n')
  35.  
  36. #sortare2:
  37. #întâi cei promovați, apoi cei nepromovați
  38. #și în fiecare categorie în ordine alfabetică
  39.  
  40. def sortare2(t):
  41.     return -t[3], t[0]     #-t[3] e ca sa putem pune in ordine descrescatoare
  42.                             #(True mai intai)
  43.  
  44. # ls.sort(key=sortare2)
  45. #
  46. # print(*ls,sep='\n')
  47.  
  48.  
  49.  
  50. #sortare3
  51. #descrescător după suma creditelor,
  52. # iar în cazul unor sume egale în ordinea crescătoare a grupei
  53. # și în ordine alfabetică în cadrul grupei
  54.  
  55. def sortare3(t):
  56.     return -sum(t[2]), t[1], t[0]
  57.  
  58. # ls.sort(key=sortare3)
  59. # print(*ls,sep='\n')
  60.  
  61.  
  62. #sortare4
  63. #în ordinea crescătoare a grupelor,
  64. # în cadrul fiecărei grupe mai întâi studenții promovați,
  65. # iar apoi cei nepromovați, în fiecare categorie (promovat/nepromovat) în
  66. #ordinea descrescătoare a sumei creditelor și, în cazul unor sume egale,
  67. # în ordine alfabetică
  68.  
  69.  
  70. def sortare4(t):
  71.     return t[1], -t[3], -sum(t[2]),t[0]
  72.  
  73. ls.sort(key=sortare4)
  74. print(*ls,sep='\n')