How do i make the bullet shoot once when i rotate the phone into LandscapeLeft

using UnityEngine;
using System.Collections.Generic;
using System.Collections;
public class Weapon : MonoBehaviour
{
public Transform firepoint;
public GameObject bulletPrefab;

    // Update is called once per frame
    void Update()
    {
        if (Input.deviceOrientation == DeviceOrientation.LandscapeLeft)
        {
            Shoot();
        }
    }

    void Shoot()
    {
        Instantiate(bulletPrefab, firepoint.position, firepoint.rotation);
    }

}

When i put my phone in LandscapeLeft it shoots multiple bullets but i only want it to shoot once and only one bullet.

You could store the last device orientation and check if it changes. If it does, also check if the new orientation is LandscapeLeft. Like so:

DeviceOrientation lastOrientation;

public void Update()
{
    // If  1.) Did the device orientation change since last check
    // And 2.) Is the new orientation landscape
    // -> Then Shoot
    if (Input.deviceOrientation != lastOrientation
        && Input.deviceOrientation == DeviceOrientation.LandscapeLeft)
    {
        // Do the Shooting
    }
    lastOrientation = Input.deviceOrientation;
}