Saya memiliki tugas yang memiliki petunjuk sebagai berikut:

  • tulis program yang membaca dalam 4 set 4 garis putus-putus dan menampilkan empat simbol biner yang diwakili oleh setiap set empat baris.
  • input terdiri dari 16 baris secara total, terdiri dari sejumlah tanda hubung dan spasi.
  • empat baris pertama mewakili simbol, empat baris berikutnya mewakili simbol berikutnya dan seterusnya.
  • cetak empat simbol berkode biner yang diwakili oleh 16 baris secara total.
  • setiap simbol biner harus berada pada barisnya sendiri

Ini didasarkan pada program sebelumnya yang saya tulis di mana input adalah satu baris teks yang terdiri dari sejumlah spasi dan tanda hubung. Jika ada jumlah garis genap, output 0. Jika tidak, output 1.

Ini adalah kode di atas:

 line = input()

 num_dashes = line.count("-")

 mod = num_dashes % 2

 if mod == 0:
    print("0")
 else:
    print("1")

Tolong mungkin seseorang membantu saya?

Terima kasih.

0
Izzy 18 Mei 2021, 17:41

1 menjawab

Jawaban Terbaik

Kode yang Anda miliki untuk memproses satu baris tidak masalah, meskipun Anda dapat mengganti if...else hanya dengan:

print(mod)

Sekarang untuk memperluas ini ke beberapa baris, mungkin lebih baik untuk tidak memanggil print seperti itu, tetapi untuk mengumpulkan output dalam variabel, dan hanya menampilkan variabel itu ketika semua 16 baris telah diproses. Dengan cara ini output tidak tercampur dengan input dari konsol.

Jadi misalnya, itu bisa terjadi seperti ini:

output = []
for part in range(4):  # loop 4 times
    digits = ""
    for line in range(4):   # loop 4 times
        line = input()
        num_dashes = line.count("-")
        mod = num_dashes % 2
        digits += str(mod)   # collect the digit
    output.append(digits)  # append 4 digits to a list

print("\n".join(output))  # print the list, separated by linebreaks
0
trincot 18 Mei 2021, 16:02