Python 101: Input Output

Jadi hari ini saya mulai belajar Python. Rencana ke depannya, semua skrip yg saya tulis selama belajar saya dokumentasiin di sini. Selain untuk catatan pribadi, siapa tau berguna buat orang lain yg mau belajar juga. Saya skip skrip Hello World karena itu contoh yg ga berguna. Mending langsung aja belajar tentang input & output. Gimana cara nerima input dari user & nampilin output.

Untuk ambil input dari user, kita pake fungsi input(<prompt>). <prompt> adalah teks yg mau kita tampilin di terminal. Untuk nampilin output atau teks apapun di terminal yang bukan prompt, kita pake fungsi print(<string>.format()). <string> berisi template-string ( programmer JS pasti ngerti lah apa itu ), yang isinya disubstitusi lewat fungsi format().

Jadi kalo kita punya template-string begini:

'{0} itu {1}'.format('Pemrograman', 'asik')

Output di terminal jadi Pemrograman itu asik.

Skrip pertama, tampilin tabel perkalian.

def multiplication_table(row, num):
    for i in range(1, row + 1):
        res = i * num
        print('{0} x {1} = {2}'.format( num, i, res))

if __name__ == '__main__':  
  # jalan terus sampai user pilih berenti
  while True:
    # ambil input pertama
    num = int(input('Masukin angka: '))

    # ambil input kedua
    row = int(input('Berapa baris: '))

    # print baris
    multiplication_table(row, num)
    
    # opsi isi angka baru / berenti
    ans = input('Input angka lain: y/n ? ' )
    if ans == 'n':
      # keluar dari loop
      break
    

Skrip di bawah ini bisa dijalanin. Klik tombol “play” aja.

Skrip yang kita buat bisa lebih berguna kalo kita kasih opsi ke user. Jadi semacam menu gitu. Contohnya skrip untuk konversi kilometer ke meter dan sebaliknya.

def print_menu():
  print('1. Kilometer -> Meter')
  print('2. Meter -> Kilometer')
  choice = input('Konversi mana yang Anda mau (1/2)? ')
  return choice

def km_to_m():
  num = float(input('Berapa kilometer? '))
  return '{0}m'.format(num * 1000)

def m_to_km():
  num = float(input('Berapa meter? '))
  return '{0}km'.format(num / 1000)  


if __name__ == '__main__':
  while True:
    choice = print_menu()
    res = 0
    if choice == '1':
      res = km_to_m()
    elif choice == '2':
      res = m_to_km()

    print('Hasilnya {0}'.format(res))

    ans = input('Ulangi? (y/n) ')
    if ans == 'n':
      break

Also in this category ...


Leave a Reply

Your email address will not be published. Required fields are marked *