Saya mencoba menyelesaikan latihan untuk membandingkan dua input integer menggunakan while loop. Namun, saya terjebak di bagian di mana input tertentu harus dibandingkan dengan pendahulunya sebagai lawan dari yang pertama ...

-3
Kamrul Hossain 5 April 2021, 18:53

3 jawaban

Jawaban Terbaik

Anda memiliki dua masalah:

  1. Anda menggunakan operasi bit-shift alih-alih membandingkan dua angka
  2. Anda gagal menyimpan satu nomor untuk digunakan di loop berikutnya: pada setiap iterasi, Anda menimpa kedua angka.

Untuk masalah 1, cukup gunakan perbandingan yang tepat, seperti

if a < b:

Untuk masalah 2, Anda harus "mengajar" program Anda untuk mengubah penamaannya. Setiap kali Anda mencapai bagian bawah loop, nomor "saat ini" menjadi nomor "sebelumnya" yang baru, dan Anda mengulang kembali untuk mendapatkan nomor "saat ini" baru. Logikanya terlihat seperti ini:

prev = int(input('Enter the first number:'))
while not finished:
    curr = int(input('Enter the next number:'))
    if ...
        ...
    prev = curr      # switch the naming; this is the end of the loop body
0
Prune 5 April 2021, 16:04

Algoritma Anda salah:

finished = False
print ('Enter the first number:')
num = int(input())
while not finished: 
    print ('Enter the next number:')
    num1 = int(input())
    if num1 != 0 : 
        if num == num1:
            print ('same')
        elif num < num1 : 
            print ('down')
        elif num > num1: 
            print ('up')
        num = num1
    else: 
        finished = True
0
HuLu ViCa 5 April 2021, 16:04

Coba ini:

finished = False
num = int(input('Enter the first number: '))
while not finished:
    num1 = int(input('Enter the next number:'))
    if num != 0 : 
        if num == num1:
            print ('same')
        elif num > num1 : 
            print ('down')
        elif num < num1: 
            print ('up')
        num = num1
    else: 
        finished = True

Pada dasarnya, minta SATU input, dan gunakan set num ke input itu di akhir pernyataan if, jika itu masuk akal.

JUGA, jangan gunakan print("input:") ..... int(input()). Cukup gunakan int(input("input:")

0
The Pilot Dude 5 April 2021, 16:02