目次
- 1 1. Panimula
- 2 2. Pangunahing Paggamit ng Standard Input ng Python
- 3 3. Pagproseso ng Maramihang Linya ng Standard Input
- 4 4. Pagpapalawak ng Standard Input: Pagproseso ng mga File at Binary Data
- 5 5. Praktikal na Mga Use Case: Paglutas ng Problema Gamit ang Standard Input
- 6 6. Karaniwang mga error at kung paano ito ayusin
- 7 7. Buod
1. Panimula
Kapag gumagawa ng programa gamit ang Python, napakahalaga ng “standard input” na tumatanggap at nagpoproseso ng input mula sa gumagamit. Lalo na kapag ginagamit ang function nainput()
upang kunin ang data mula sa keyboard, nagiging posible ang pakikipag-ugnayan sa gumagamit. Sa artikulong ito, para sa mga baguhan sa Python, ipapaliwanag namin ang mga pangunahing gamit ng standard input hanggang sa mga advanced na pamamaraan kasama ang mga konkretong halimbawa. Mula sa simpleng programa hanggang sa mga advanced na paraan ng pagproseso, matutunan mo ito nang sunud-sunod.2. Pangunahing Paggamit ng Standard Input ng Python
2.1 input()
Ano ang function?
input()
Ang function ay tumatanggap ng input mula sa gumagamit at nagbabalik ng string. Halimbawa, kunin at i-output ang pangalan ng gumagamit gamit ang sumusunod na code.name = input("Ilagay ang pangalan: ")
print(f"Kamusta, {name}!")
Sa code na ito, iniimbak ang pangalan na naipasok gamit ang input()
sa name
at nagpi-print ng mensahe ng pagbati.2.2 Pag-input ng Numerong Data at Pag-convert ng Uri
input()
Ang data na nakukuha ay string, kaya kung nais mong gamitin ito bilang numero, gagamitin ang mga function na int()
o float()
para i-convert ang uri.age = int(input("Ilagay ang iyong edad: "))
print(f"Ikaw ay {age} taong gulang.")
Sa halimbawang ito, kino-convert ang string sa integer at inilalabas ang edad bilang numero.
3. Pagproseso ng Maramihang Linya ng Standard Input
3.1 Pag-input ng Maramihang Linya ng String
Kung nais mong tumanggap ng maramihang linya ng input, epektibo ang paggamit ngfor
loop o list comprehension. Halimbawa, narito ang code para hilingin sa user na magpasok ng tatlong magkaibang salita.words = [input(f"{i+1} na salita: ") for i in range(3)]
print(f"Mga salitang naipasok: {words}")
Sa code na ito, iniimbak ang input na tatlong linya sa isang listahan at ipinapakita ito.3.2 Maramihang Input na Pinaghihiwalay ng Espasyo
Kapag nagpasok ng maramihang data sa isang linya, maaaring gamitin angsplit()
function upang hatiin ito batay sa espasyo. Sa susunod na halimbawa, hinihiling sa user na magpasok ng mga numero na pinaghihiwalay ng espasyo, at ito ay iko-convert sa mga integer.numbers = list(map(int, input("Pakilagay ang mga numero na pinaghihiwalay ng espasyo: ").split()))
print(f"Mga numerong naipasok: {numbers}")
Dito, ginagamit ang map()
function upang i-convert ang mga input na numero sa integer type. Ang input na hinati gamit ang split()
ay epektibong iniimbak sa isang listahan.4. Pagpapalawak ng Standard Input: Pagproseso ng mga File at Binary Data
4.1 Pagproseso ng Standard Input gamit ang sys.stdin
sys.stdin
kung gagamitin mo, maaari mong basahin nang direkta ang data mula sa standard input. Kapaki-pakinabang ito kapag nagpoproseso ng malaking dami ng text data o kapag itinuturing ang nilalaman ng file na ipinasa mula sa mga command-line argument bilang standard input.import sys
data = sys.stdin.read()
print(f"Natanggap na data: {data}")
Sa code na ito, binabasa ang lahat ng data mula sa standard input at inilalabas ito.4.2 Simpleng Pagproseso ng Binary Data
sys.stdin.buffer
sa pamamagitan ng paggamit nito, maaari mong direktang iproseso ang binary data. Ito ay kapaki-pakinabang kapag humahawak ng mga imahe o mga file na nasa binary format.import sys
binary_data = sys.stdin.buffer.read()
print(binary_data)
Sa code na ito, binabasa ang binary data mula sa standard input at agad itong inilalabas.
5. Praktikal na Mga Use Case: Paglutas ng Problema Gamit ang Standard Input
5.1 Programang Nagkakalkula ng Average Gamit ang Standard Input
Sa programang ito, tumatanggap ng mga integer mula sa standard input, kinukuwenta ang kanilang average, at inilalabas ito. Ang ganitong proseso ay karaniwang ginagamit sa competitive programming at data processing.N = int(input("Ilagay ang bilang ng mga numerong ipapasok: "))
numbers = list(map(int, input("Ilagay ang mga numero, pinaghiwalay ng puwang: ").split()))
average = sum(numbers) / N
print(f"Ang average ay {average}.")
Ang programang ito ay unang tumatanggap ng bilang ng mga numero, pagkatapos ay itinuturing ang mga numerong ipinasok na pinaghiwalay ng puwang bilang listahan, at kinukuwenta ang average.5.2 Programang Tumanggap ng Data Hanggang sa Pagtatapos ng Input
Ito ay programang patuloy na tumatanggap ng data hanggang mag-input ang user ng walang laman na linya. Sa pamamagitan ng pagtatakda ng tiyak na kondisyon sa pagtatapos, posible ang pangmatagalang pagproseso ng input na data.data = []
while True:
line = input()
if line == "":
break
data.append(line)
print("Data na naipasok: ", data)
Sa halimbawang ito, patuloy na tumatanggap ng data hanggang sa mag-input ng walang laman na linya, at sa huli inilalabas ang lahat ng data.6. Karaniwang mga error at kung paano ito ayusin
6.1 Pagsasaayos ng ValueError
Kapag naglalagay ng numerong input, kung ang gumagamit ay nagkamaling magpasok ng string, magaganap ang ValueError
. Upang maiwasan ang error na ito, kailangan magdagdag ng code na nagsusuri ng input value.try:
age = int(input("Pakilagay ang iyong edad: "))
except ValueError:
print("Hindi wastong input. Pakilagay ng numero.")
6.2 Pagsasaayos ng EOFError
Kapag tumatanggap ng maraming linya ng input, maaaring mangyari ang EOF(End of File)error na nagpapahiwatig ng pagtatapos ng standard input. Upang maiwasan ito, mahalagang itakda nang tama ang kondisyon ng pagtatapos.import sys
for line in sys.stdin:
if line.strip() == "":
break
print(line.strip())
7. Buod
Sa pamamagitan ng paggamit ng standard input sa Python, madali mong maisasakatuparan ang pakikipag-ugnayan sa gumagamit at makakalikha ng mas advanced na mga programa. Natutunan mo ang iba’t ibang paraan mula sa pangunahinginput()
function hanggang sa pagproseso ng mga file at binary data. Sa pag-unawa at pagsasabuhay ng mga paraan ng paggamit ng standard input, tataas ang kakayahang mag-adjust at kahusayan ng iyong programa.