Past questions › fam-q13
2025 6 marks Python / code The Software Engineering Project (Year 12) Python: lists, loops, selection
NESA 2025 HSC Software Engineering Familiarisation Questions - Marking Guidelines (official, 12 June 2025)
[Question stem not available as text (it is on the interactive NESA familiarisation site). Task per the NESA mapping grid: Python program to display a player's scores and points per round from a list of 10 scores, with bonus points when a round scores 5 (add the next round's score) and a final-round rule (10 points), then the total]
Marking criteria
6: Substantially correct solution with ALL of: looping correctly; referring to the contents of the data structure correctly; displaying the player's scores and corresponding points as shown; calculating the total points; taking bonus points into account; handling the final round correctly. 5: Most features. 3-4: Some features. 2: One feature. 1: Some understanding.
Sample answer
Input code
scores = [3,5,5,2,1,4,0,1,4,5]
Display the scores and points
Header row
print("Round\tScore\tPoints") totalPoints = 0
Calculate the points and print
for i in range(len(scores)): roundNumber = i + 1 score = scores[i] points = score
# Check if any bonuses apply and NOT the final round
if points == 5 and i != 9:
# Add the points from the next round as bonus points
points += scores[i + 1]
# Check if the final round bonus applies
if points == 5 and i == 9:
# Give the bonus points of 10
points = 10
# Add to the total points tally
totalPoints += points
# Print the results
print(str(roundNumber) + "\t" + str(score) + "\t" + str(points))
print("\nTOTAL POINTS: " + str(totalPoints))