Skip to content

Chapter 7 Console Input/Output

CHAPTER 7

Console Input/Output

Keynote

7.1 Console Input/Output

Console Input/Output timi cu keyboard in thil á¹­ial luh (input) le screen cungah chuah (output) kha a si.

7.2 Console Input

Console input cu Python chungah a um ciami input() function hman in lak khawh a si. input() function i a hman ning (general form) cu: s = input('prompt')

  • prompt cu screen cungah a lang dingmi ca (string) a si, user kha value a hal.
  • input() nih string a chuah (return). Tahchunhnak ah 123 kha input ah kan á¹­ial ahcun, '123' (string) in a laak.

# Min tling laknak 
name = input('Enter full name') 
# Min hmasa, min laifang le min donghnak á¹­hennak (split hman in)
fname, mname, lname = input('Enter full name: ').split( )
split() function nih na á¹­ialmi min tling kha "space" (ca hmai) hman in a á¹­hen hna lai. Cu a á¹­henmi value pawl cu fname, mname, le lname ah a chiah (assign) hna lai.

int (nambat) value tam deuh lak kan duh ahcun, string in kan lak hmasa lai i, cu hnu ah int ah kan thlen hna lai.

Receiving multiple int values
n1, n2, n3 = input('Enter three values: ').split( ) 
# String in a ummi kha int ah thlen
n1, n2, n3 = int(n1), int(n2), int(n3)
print(n1 + 10, n2 + 20, n3 + 30)

Mah thil á¹­hiamá¹­hiam cu list comprehension timi hman in tawi deuh le fawi deuh in kan tuah khawh.

split() function nih a chuahmi list chung i thil (element) pakhat cio kha int() function a hmanpiak hna (nambat ah a thlen hna).

List Comprehension
# Input lak, split tuah, le int ah thlen colh
n1, n2, n3 = [int(n) for n in input('Enter three values: ').split( )] 
print(n1 + 10, n2 + 20, n3 + 30)
* [ ] chung i á¹­ialmi expression kha list comprehension ti a si. Hi kong hi Chapter 12 ah tling deuh in kan cawng te lai.

input() hi value zeizat kan duh zat (arbitrary number) lak nakhnga hman khawh a si.

Receiving arbitrary number of values
# User nih a duh zat value a á¹­ialmi paoh list ah chiah
numbers = [int(x) for x in input('Enter values: ').split( )] 
for n in numbers :
    print(n + 10)
input() hi value phun (type) a i dangmi pawl a voikhat tein lak nakhnga hman khawh a si.

Receiving different types of values
data = input('Enter name, age, salary: ').split( ) 
name = data[0] # Min cu string a si cia
age = int(data[1]) # Kum cu integer ah thlen
salary = float(data[2]) # Lahkhah cu float ah thlen
print(name, age, salary)

7.3 Console Output

  • A chungah a um ciami function print( ) cu screen cungah output chuah nakhnga hman a si.

print( ) function nih a tanglei bantuk sining (form) a ngei:

print(objects, sep = ' ', end = '\n', file = sys.stdout, flush = False)

  • Himi a sullam cu, a sawhsawh (default) in thil (objects) pawl cu screen (sys.stdout) ah an chuak lai, 'space' (sep = ' ') in a á¹­hen hna lai, cun a donghnak ah tlar thar (end = '\n') in a zui lai. flush = False timi nih output stream cu a thianh (flush) lai lo ti a langhter.

Python nih function kan auh tikah a min (keyword) hman in value pek khawhnak a ngei. Cucaah print( ) kan hman tikah sep le end caah kan duhmi value kan pek khawh hna. Cu tikah, a sawhsawh (default) value pawl kha hman an si ti lo i, kan pekmi value tu kha hman an si lai.

Keyword-based arguments
# Value pakhat cio hnu ah ',' a um lai, a donghnak ah '!' a um lai
print(a, b, c, sep = ',', end = '!') 

# Value pakhat cio hnu ah '...' a um lai, a donghnak ah '#' a um lai
print(x, y, sep = '...', end = '#')

7.4 Formatted Printing

Output a sining (formatting) uk nakhnga lam 4 a um:

  • a. Formatted string literals hman - a fawi bik.
  • b. format( ) method hman - a hlun deuh.
  • c. C printf( ) style - a hlun tuk cang (legacy).
  • d. Slicing le concatenation hman - a har.

Tuchun ni ah (a) hi hman bik a si i, (b) nih a chang.

r, l, b = 1.5678, 10.5, 12.66
# f-string hman tikah f'' kan á¹­ial i a chungah {variable} kan chiah
print(f'radius = {r}')
print(f'length = {l} breadth = {b} radius = {r}')

name = 'Sushant Ajay Raje'
for n in name.split( ) :
    print(f'{n:10}') # column 10 chungah chuah ding (space 10 a lak lai)

Using format( ) method

String object i format( ) method hman ning:

Hi method ah hin string chungah {} (curly braces) kan chiah i, cu chungah value kan duhmi format() in kan pek (pass).

Using format( ) method
r, l, b = 1.5678, 10.5, 12.66
name, age, salary = 'Rakshita', 30, 53000.55

# 1. A um ning (position) tein chuah - {} chungah zeihmanh á¹­ial lo
# A hmasa bik {} ah r, a pahnihnak ah l, a pathumnak ah b a um lai.
print('radius = {} length = {} breadth ={}'.format(r, l, b))
print('name = {} age = {} salary = {}'.format(name, age, salary))

# 2. Kan duhmi order in chuah (Index hman in)
# {0} = r, {1} = l, {2} = b
print('radius = {2} length = {1} breadth ={0}'.format(r, l, b))
print('age={1} salary={2} name={0}'.format(name, age, salary))

# 3. Hmun (width) zeizat dah a lak lai ti khiah
# {0:15} = Index 0 (name) nih column 15 (space 15) a lak lai.
print('name = {0:15} salary = {1:10}'.format(name, salary))

# 4. Point hnu nambat zeizat dah a lak lai ti khiah
# {0:10.2f} = Index 0 (r) nih column 10 a lak lai, point hnu ah nambat 2 a lang lai.
print('radius = {0:10.2f}'.format(r))
A cunglei code kan run tikah a tanglei bantuk output a chuak lai:
radius = 1.5678 length = 10.5 breadth =12.66
name = Rakshita age = 30 salary = 53000.55
radius = 12.66 length = 10.5 breadth =1.5678
age=30 salary=53000.55 name=Rakshita
name = Rakshita        salary = 53000.55
radius =       1.57

Zohchih ding (Note)

  • Space: name = Rakshita hnu ah space a um, zeicatiah {0:15} kan hman caah a tlawm bik cafang 15 hmun a lak.
  • Rounding: radius = 1.57 a si, zeicatiah {0:10.2f} kan hman. .2f nih point hnu ah nambat 2 lawng a lak i, 1.5678 kha 1.57 ah a round (a naihniam bik ah a thlen).
  • Alignment: Nambat (number) pawl cu a sawhsawh in a orh lei (right) ah an i align (tlar).

Problems

Problem 7.1

Circle pakhat i a radius, le Rectangle pakhat i a dung (length) le a vang (breadth) kha input( ) voikhat hman in laknak program á¹­ial. Cun, Circle i a circumference (a vel) le Rectangle i a perimeter (a vel) kha tuak law chuah (print).

Program
# Input lak i 'space' hman in á¹­hen (split)
r, l, b = input('Enter radius, length and breadth: ').split( ) 

# String in Integer (nambat) ah thlen
radius = int(r)
length = int(l)
breadth = int(b)

# Formula hman in tuak
circumference = 2 * 3.14 * radius 
perimeter = 2 * ( length + breadth ) 

# A chuakmi result chuah
print(circumference)
print(perimeter)
Output
Enter radius, length and breadth: 3 4 5
18.84
18

Tips

  • input( ) nih string a chuah (return) caah, nambat tuaknak (arithmetic operations) tuah hlan ah int asiloah float ah thlen (convert) a herh.

Problem 7.2

input( ) voikhat hman in integer 3 lak ding. Cu nambat 3 hna cu thawk (start), dongh (end), le karh (step) an si lai. Cu nambat pawl hman in: Nambat (number), a square (voi hnih karh), le a cube (voi thum karh) kha Orh lei tlar (Right-aligned) le Keh lei tlar (Left-aligned) in chuahnak program á¹­ial.

Program
Alignment Output
start, end, step = input('Enter start, end, step values: ').split( )

# Right aligned printing (Orh lei tlar in chuah)
# > symbol nih orh lei (right) ah a chiah
print("Right Aligned:")
for n in range(int(start), int(end), int(step)) :
    print(f'{n:>5}{n**2:>7}{n**3:>8}')

print( ) # Tlar thar

# Left aligned printing (Keh lei tlar in chuah)
# < symbol nih keh lei (left) ah a chiah
print("Left Aligned:")
for n in range(int(start), int(end), int(step)) :
    print('{0:<5}{1:<7}{2:<8}'.format(n, n ** 2, n ** 3))
Output
Enter start, end, step values: 1 10 2
1 1 1
3 9 27
5 25 125
7 49 343
9 81 729

1 1 1 
3 9 27 
5 25 125 
7 49 343 
9 81 729 

Tips

  • {n:>5} nih n kha column 5 chungah orh lei tlar (right-justified) in a chuah lai. Keh lei tlar (left-justify) na duh ahcun < hmang.
  • {0:<5} nih parameter 0-nak (a hmasa bik) kha column 5 chungah keh lei tlar (left-justify) in a chuah lai. Orh lei tlar (right-justify) na duh ahcun > hmang.

Problem 7.3

Min le phone nambat 4 chiah nakhnga le, cu hna cu a tlar tein (table bantuk in) chuahnak program á¹­ial.

Program
contacts = {
    'David' : 9823077892, 
    'Shine' : 6784512345,
    'Vivad' : 9823011245, 
    'Rosanna' : 9766556779 
}

# Dictionary chung i min le nambat lak
for name, cellno in contacts.items( ) :
    # name:15 = Min caah space 15 (String cu left align a si)
    # cellno:10d = Nambat caah space 10 (d = decimal integer)
    print(f'{name:15} : {cellno:10d}')
Output
David : 9823077892
Shine : 6784512345
Vivad : 9823011245
Rosanna : 9766556779

Problem 7.4

Program pakhat chungah variable 5 - max, min, mean, sd le var - an um i, value á¹­ha tein an ngei ti u sih. print( ) voikhat lawng auh in, nain f-string tam nawn hman in, hi variable pawl hi a tlar tein (properly aligned) chuahnak program á¹­ial.

Program
min, max = 25, 75
mean = 35
sd = 0.56
var = 0.9

# Print voikhat lawng kan hman, comma (,) in kan peh
print(
    f'\n{"Max Value:":<15}{max:>10}',  # Label keh lei, Value orh lei
    f'\n{"Min Value:":<15}{min:>10}',
    f'\n{"Mean:":<15}{mean:>10}',
    f'\n{"Std Dev:":<15}{sd:>10}',
    f'\n{"Variance:":<15}{var:>10}' 
)

A tuah ning (Explanation):

  • Comma ,: print() chungah argument tam nawn kan pek khawh. Hika ah f-string 5 kha comma in kan á¹­hen hna.
  • \n: Line thar (New line) a si. print nih space a pek (default separator) nain, \n kan hman caah a tanglei ah a thla.
  • "Max Value:":<15: "Max Value:" timi ca kha column 15 chungah Keh lei tlar (Left align) in a chiah.
  • max:>10: max variable i a value kha column 10 chungah Orh lei tlar (Right align) in a chiah.
Output
Max Value: 75 
Min Value: 25 
Mean: 35 
Std Deviation: 0.56 
Variance: 0.9

Problem 7.5

1 in 10 tiang nambat pawl i an Square Root le Cube Root kha point hnu ah nambat 3 (3 decimal places) tiang chuahnak program á¹­ial. Nambat kha a lai (center) ah um sehlaw, root pawl cu orh lei tlar (right-justified) in um hna seh.

Program
import math

# Formatting settings
width = 10
precision = 3 # Point hnu nambat 3

print(f'{"Num":^5}{"Sqrt":>10}{"Cbrt":>10}') # Header

# 1 in 10 tiang (range cu a donghnak a tel lo caah 11 kan á¹­ial)
for n in range(1, 11) :
    s = math.sqrt(n)
    c = math.pow(n, 1/3) # Cube root (1/3 power)

    # ^5 = Width 5 chungah Center align
    # 10.3f = Width 10, point hnu nambat 3 (f=fixed point)
    print(f'{n:^5}{s:10.3f}{c:10.3f}')

A tuah ning (Explanation):

  • import math: Square root (sqrt) le power (pow) hman khawh nakhnga math library kan auh.
  • range(1, 11): 1 in 10 tiang kal ding a si (Python range ah a donghnak nambat a tel lo, cucaah 11 kan á¹­ial a hau).
  • ^5: Nambat n kha column 5 chungah A Lai (Center) ah a chiah.
  • 10.3f:
  • 10: Column 10 hmun a lak lai.
  • .3: Point hnu ah nambat 3 a lang lai.
  • f: Fixed point (decimal nambat) a si lai. Nambat a si caah a sawhsawh in Orh lei (Right) ah a tlar.
Output
1 1.0 1.0
2 1.414 1.26
3 1.732 1.442
4 2.0 1.587
5 2.236 1.71
6 2.449 1.817
7 2.646 1.913
8 2.828 2.0
9 3.0 2.08

Exercises

[A] Attempt the following questions:

a. How will you make the following code more compact? (A tanglei code hi zeitinda na tawiter deuh lai?)

input() le split() function hman in tlar khat (one line) ah kan tawiter khawh:

print('Enter ages of 3 persons')

age1 = input( )
age2 = input( )
age3 = input( )

b. How will you print "Rendezvous" in a line and retain the cursor in the same line in which the output has been printed? ("Rendezvous" timi kha tlar khat ah zeitinda na print lai i, output a chuahnak tlar thiamthiam ah cursor kha zeitinda na umter peng lai?)

c. What will be the output of the following code snippet? (A tanglei code snippet i a output hi zeidah a si lai?)

l, b = 1.5678, 10.5
print('length = {l} breadth = {b}')

d. In the following statement what do > 5, > 7 and > 8 signify? (A tanglei statement chungah hin > 5, > 7 le > 8 nih zeidah an chim duh (sullam an ngeih)?)

print(f'{n:>5}{n ** 2:>7}{n ** 3:>8}')

e. What will be the output of the following code segment? (A tanglei code segment i a output hi zeidah a si lai?)

name = 'Shine'
cellno = 9823017892
print(f'{name:15} : {cellno:10}')

f. How will you print the output of the following code segment using fstring? (A tanglei code segment i a output hi fstring hmang in zeitinda na chuah (print) lai?)

x, y, z =10, 20, 40
print('{0:<5}{1:<7}{2:<8}'.format(x, y, z))

g. How will you receive arbitrary number of floats from keyboard? (Keyboard in na duh zat point nambat (floats) kha zeitinda na lak lai?)

h. What changes should be made in (Zei dah remh a hau mi a si lai?)

print(f'{'\nx = ':4}{x:>10}{'\ny = ':4}{y:>10}')

i. How will you receive a boolean value as input? (Boolean value (True/False) kha input in zeitinda na lak lai?)

j. How will you receive a complex number as input? (Complex number kha input in zeitinda na lak lai?)

k. How will you display price in 10 columns with 4 places beyond decimal points? Assume value of price to be 1.5567894. (price kha column 10 chungah, point hnu nambat 4 (4 decimal places) tiang langhter in zeitinda na chuah lai? price i a value cu 1.5567894 a si tiah ruat.)

l. Write a program to receive an arbitrary number of floats using one input( ) statement. Calculate the average of floats received. (input( ) statement voikhat hman in point nambat (floats) na duh zat laknak program á¹­ial. Cun, na lakmi point nambat pawl i an average (vawle) kha tuak.)

m. Write a program to receive the following using one input( ) statement. (A tanglei hna hi input( ) statement voikhat hman in laknak program á¹­ial.)

Name of the person (Minung Min)
Years of service (Rian a á¹­uan kum zat)
Diwali bonus received (Diwali bonus a hmuhmi)

n. Which import statement should be added to use the built-in functions input( ) and print( )? (Built-in function input( ) le print( ) hman khawh nakhnga zei import statement dah chap a herh?)

o. Is the following statement correct? (A tanglei statement hi a hman maw?)

print('Result = ' + 4 > 3)
p. Write a program to print the following values (A tanglei value pawl hi chuahnak (print) program á¹­ial)
a = 12.34, b = 234.39, c = 444.34, d = 1.23, e = 34.67
as shown below:
a = 12.34 
b = 234.39 
c = 444.34 
d = 1.23 
e = 34.67

[B] Match the following pairs:

(A tanglei hna hi a kawp tein a hmanmi thim hna:)

Option A Option B
a. Default value of sep in print( )
(print( ) ah sep i a default value)
1. ' '
b. Default value of end in print( )
(print( ) ah end i a default value)
2. Using fstring
(fstring hman)
c. Easiest way to print output
(Output chuahnak lam a fawi bik)
3. Right justify num in 5 columns
(Column 5 chungah num orh lei tlar)
d. Return type of split( )
(split( ) nih a chuahmi (return type))
4. Left justify num in 5 columns
(Column 5 chungah num keh lei tlar)
e. print('{num:>5}') 5. list
f. print('{num:<5}') 6. \n
A Phi (Answers)
Option A Option B
a — 1 (sep default value cu space ' ' a si)
b — 6 (end default value cu new line \n a si)
c — 2 (fstring hman hi a fawi bik)
d — 5 (split() nih list a chuah)
e — 3 (> symbol cu Right Justify/Align a si)
f — 4 (< symbol cu Left Justify/Align a si)


Comments