ACM的Python版輸入輸出

2021-08-27 07:57:32 字數 4452 閱讀 9331

目錄

一、輸入部分

1. 單樣例輸入

(1)只需輸入一行

2. 多樣例輸入

(1)多樣例輸入,無明確樣例個數

(2)要輸入n行

(3)多樣例輸入,指定結束符號

(4)輸入n組,指定結束符號

3.多樣例複雜輸入

(1)多樣例輸入,無明確樣例個數

(2)要輸入n行

reference

題目描述:

對10個整數從小到大排序。

輸入:

4 85 3 234 45 345 345 122 30 12

輸出:

3 4 12 30 45 

**:

listt = map(lambda x:int(x), raw_input().split()) # 萬能的輸入語句

listt.sort() # 呼叫標準庫

for i in listt :

print i, # 輸出

注:python2.7的**。 

有多組輸入資料,但沒有具體的告訴你有多少組,只是讓你對應每組輸入,應該怎樣輸出。

題目要求:

多樣例輸入一組整數,每組資料佔一行,每組資料中有兩個數,要求輸出兩個數之和。每個結果佔一行。

輸入:

1  3

2  4

3  5

輸出:

**:

while true:

try:

a, b = map(int, raw_input().strip().split())

print (a+b)

except eoferror:

break

輸入乙個整數,告訴我們接下來有多少組資料,然後在輸入每組資料的具體值。

輸入

學生數量n佔一行, 每個學生的學號、姓名、三科成績佔一行,空格分開。成績是正整數

輸出

各門課的平均成績 最高分的學生的資料(包括學號、姓名、3門課成績),平均成績用整數表示

樣例輸入

1 blue 90 80 70 

b clan 80 70 60

樣例輸出

85 75 65 

1 blue 90 80 70

**:

tcase = int(raw_input().strip())

def f(x):

if ord(x[0]) < 90: # 判斷是數字還是字母

return int(x)

return x

a = [map(f, raw_input().split()) for i in range(tcase)]

print sum([x[2] for x in a])/tcase, sum([x[3] for x in a])/tcase, sum([x[4] for x in a])/tcase # 列印平均數

listt=[sum(x[2:]) for x in a]

maxx=max(listt)

for i in range(tcase): # 找到最大值的索引

if listt[i] ==maxx:

break

print str(a[i]).replace(', ',' ').replace('\'','')[1:-1]+' ' #列表一排萬能輸出,但輸出得不好看,不用在意

在舉乙個例子:

題目要求:

輸入n組資料樣例,每組資料佔一行,每組資料中有兩個數,要求輸出兩個數之和。每個結果佔一行。

輸入:

1 2

2 33 4 

輸出:

**:

tcase = int(raw_input().strip())

for case in range(tcase):

a, b = map(int, raw_input().strip().split())

print (a + b)

有多組輸入資料,沒有具體的告訴你有多少組,但是題目卻告訴你遇見什麼結束。

題目要求:

多樣例輸入一組整數,每組資料佔一行,每組資料中有兩個數。要求輸出兩個數之和,每個結果佔一行。輸入 0 0 表示輸入結束。

輸入:

1 2

3 45 6

0 0

輸出:

**:

while true:

a, b = map(int, raw_input().strip().split())

if a == 0 and b == 0:

break

print (a + b)

輸入有n組,並且題目告訴你每組輸入遇見什麼結束,與第三種不同之處在於,每組輸入都有相應的細化。

題目要求:

輸入n組資料樣例,每組資料佔一行,每組資料中有兩個數,要求輸出兩個數之和。每個結果佔一行。輸入 0 0 表示輸入結束。

輸入:

1 2

3 40 0

輸出:

**:

tcase = int(raw_input().strip())

for case in range(tcase):

a, b = map(int, raw_input().strip().split())

if a == 0 and b == 0:

break

print (a + b)

有多種輸入資料,對於每組輸入資料的第乙個數代表該組資料接下來要輸入資料量。

題目描述:

輸入多組資料樣例,每組資料佔一行,對於每一行的輸入,又劃分為第乙個數和其他的數,第乙個數代表那一組資料一共有多少輸入。輸出其它資料相加之和。

輸入:

1 2

2 1 2

3 1 2 3

4 1 2 3 4

輸出:

**:

while true:

try:

data = map(int, raw_input().strip().split())

n, array = data[0], data[1:]

sum = 0

for i in range(n):

sum += array[i]

print (sum)

except eoferror:

raise

這次的輸入實現輸入乙個整數,告訴我們有多少行,在輸入每一行。對於每一行的輸入,又劃分為第乙個數和其他的數,第乙個數代表那一組資料一共有多少輸入。

題目描述:

輸入n組資料樣例,n告訴我們有n行資料。對於每一行的輸入,又劃分為第乙個數和其他的數,第乙個數代表那一組資料一共有多少輸入。輸出其它資料相加之和。

輸入:

1 2

2 1 2

3 1 2 3

4 1 2 3 4

輸出:

**:

tcase = int(raw_input().strip())

for case in range(tcase):

data = map(int, raw_input().strip().split())

n, array = data[0], data[1:]

sum = 0

for i in range(n):

sum += array[i]

print (sum)

[1] 

[2] 

ACM輸入輸出之python

python的輸入數野生字串,需要自己轉型,常用的轉型函式有 strip 將兩端的空白字元去掉,返回str slipt 將字串用空白字元分開,返回 str map 把list裡面的值對映到指定型別,返回 type isspace 是否用空行組成 eof用來抓異常 輸出加 不換行 python3不能用...

acm 輸入輸出總結

資料的輸入格式影響判斷迴圈終止的方式,迴圈判定發生在各組資料之間的輸入過程中和組內單個資料的輸入過程中,常見的資料輸入格式有三種 給出輸入規模 首先,輸入乙個整數n,n為輸入規模 然後,輸入n組資料。以特定輸入標誌結束 最後一組輸入為題目中指定的一組特定輸入,標誌輸入的結束。這組輸入一般為一組無意義...

acm 輸入輸出測試

1 巧用 scanf 當沒告訴你輸入幾個時 直接輸入一串數字,以空格分開,換行結束 int a maxn int n char c while scanf d c a n,c c n n 2 當沒告訴你有幾組資料時,只告訴你 每組資料的結束標誌,程式的結束標誌時 要採取順序結構的思想,while 判...