Wheel sectors always different

Hello, I have made a wheel that spins but wheel prize value is always different even though it falls on same sector or is off by couple values. I want to assign specific numbers to each sector and I don’t know what is wrong. If the red sector falls the value is different every time. This is the wheel with 54 sectors assigned:

This is the code:

public class SpinBonusWheel : MonoBehaviour
{
    public List<int> prize;
    public List<AnimationCurve> animationCurves;
 
    private bool spinning;
    private float anglePerItem; 
    private int randomTime;
    private int itemNumber;
 
    void Start(){
        spinning = false;
        anglePerItem = 360/prize.Count;
     
    }
 
    void  Update ()
    {
        if (Input.GetKeyDown (KeyCode.Space) && !spinning) {
         
            randomTime = Random.Range (1, 4);
            itemNumber = Random.Range (0, prize.Count);
            float maxAngle = 360 * randomTime + (itemNumber * anglePerItem);
         
            StartCoroutine (SpinTheBonusWheel (5 * randomTime, maxAngle));
        }
    }
 
    IEnumerator SpinTheBonusWheel (float time, float maxAngle)
    {
        spinning = true;
     
        float timer = 0.0f;
        float startAngle = transform.eulerAngles.z;     
        maxAngle = maxAngle - startAngle;
     
        int animationCurveNumber = Random.Range (0, animationCurves.Count);
        Debug.Log ("Animation Curve No. : " + animationCurveNumber);
     
        while (timer < time) {
            //to calculate rotation
            float angle = maxAngle * animationCurves [animationCurveNumber].Evaluate (timer / time) ;
            transform.eulerAngles = new Vector3 (0.0f, 0.0f, angle + startAngle);
            timer += Time.deltaTime;
            yield return 0;
        }
     
        transform.eulerAngles = new Vector3 (0.0f, 0.0f, maxAngle + startAngle);
        spinning = false;
     
        Debug.Log ("Prize: " + prize [itemNumber]);//use prize[itemNumnber]
    }
}

This is not a physics question but a scripting one.

The fact the t you are using two random values and multipling them makes the option to the values to repeat incredibly small. If you want to repeat it first declare a random:
Random rand = new Random();
add a seed:
rand.Seed = seed
and make the random value:
float someValue = rand.Range(0,10);

Dont expect the wheel always have the same value with this, but that every time you enter playmode the valies will be the same.

Sorry if I didnt understand your question.