国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

SDUT—Python程序設(shè)計(jì)實(shí)驗(yàn)五(列表與元組)

這篇具有很好參考價(jià)值的文章主要介紹了SDUT—Python程序設(shè)計(jì)實(shí)驗(yàn)五(列表與元組)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

如果你對(duì)python中的列表和元組的使用還不是很熟悉,這篇文章也許會(huì)提供一些幫助:
Python數(shù)據(jù)容器之列表(list)與元組(tuple)

7-1 sdut-ASCII碼排序

輸入N個(gè)字符后,按各字符的ASCII碼從小到大的順序輸出這N個(gè)字符。

輸入格式:
輸入數(shù)據(jù)有多組,每組占一行,有N個(gè)字符組成。

輸出格式:
對(duì)于每組輸入數(shù)據(jù),輸出一行,字符中間用一個(gè)空格分開(kāi)。

輸入樣例:

Input1231
qwe1321
asddsfadsfadsf
zxc1321132dsfa
abcABCDFdefgDEFGHIJhijakfdsadsf;dsa

輸出樣例:

1 1 2 3 I n p t u
1 1 2 3 e q w
a a a d d d d f f f s s s s
1 1 1 2 2 3 3 a c d f s x z
; A B C D D E F F G H I J a a a a b c d d d d e f f f g h i j k s s s

代碼:

try:
    while True:
        ls = list(input())
        ls.sort()
        print(*ls, sep=' ')
except EOFError:
    pass

7-2 sdut-數(shù)據(jù)逆序

一行輸入N個(gè)整數(shù),按逆序輸出數(shù)值。

輸入格式:
輸入有多行。

每行有若干個(gè)整數(shù),用空格分隔。

輸出格式:
對(duì)于每行輸入,將數(shù)值逆序輸出,數(shù)值以空格隔開(kāi)。

輸入樣例:

1 3 5 9 7 6 8 2 4 0 234 656 2223
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
-3 -43 23 435 -5667 231 100 2002 2035

輸出樣例:

2223 656 234 0 4 2 8 6 7 9 5 3 1
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
2035 2002 100 231 -5667 435 23 -43 -3

代碼:

try:
    while True:
        ls = list(input().split())
        ls.reverse()
        print(*ls, sep=' ')
except EOFError:
    pass

7-3 計(jì)算 1+2+3+…+m

輸入一個(gè)正整數(shù)m(0<=m<=100),計(jì)算 1+2+3+…+m 的值。

輸入格式:
多組輸入。

在一行輸入一個(gè)正整數(shù)m。

輸出格式:
對(duì)應(yīng)每一行輸入,在一行中按照格式“sum=S”輸出對(duì)應(yīng)的和S.

輸入樣例:

10
100

輸出樣例:
在這里給出相應(yīng)的輸出。例如:

sum=55
sum=5050

代碼:

try:
    while True:
        n = int(input())
        sum = 0
        for i in range(1, n + 1):
            sum += i
        print("sum=%d" % sum)
except EOFError:
    pass

7-4 sdut-統(tǒng)計(jì)身高超過(guò)平均值的學(xué)生

中小學(xué)生每個(gè)學(xué)期都要體檢,量身高,因?yàn)樯砀呖梢苑从澈⒆拥纳L(zhǎng)狀況。
現(xiàn)在,一個(gè)班的身高已經(jīng)量好了,請(qǐng)輸出其中超過(guò)平均身高的那些學(xué)生的身高。

輸入格式:
輸入為一行數(shù)據(jù),以空格分隔,每個(gè)數(shù)據(jù)都是一個(gè)正整數(shù)。

輸出格式:
輸出超過(guò)身高平均數(shù)的學(xué)生的身高數(shù)值,每個(gè)數(shù)后面有一個(gè)空格。

輸出的順序和輸入的相同。

輸入樣例:

143 174 119 127 117 164 110 128

輸出樣例:

143 174 164 

代碼:

ls = [float(n) for n in input().split()]
avg = float(sum(ls) / len(ls) * 1.0)
for each in ls:
    if each > avg:
        print(int(each), end=' ')

7-5 sdut-求整數(shù)的位數(shù)及各位數(shù)字之和

對(duì)于給定的正整數(shù)N,求它的位數(shù)及其各位數(shù)字之和。
(用Python實(shí)現(xiàn)提示:把整數(shù)轉(zhuǎn)換成字符串,列表,用sum和len函數(shù))

輸入格式:
輸入在一行中給出一個(gè)正整數(shù)N。

輸出格式:
在一行中輸出N的位數(shù)及其各位數(shù)字之和,中間用一個(gè)空格隔開(kāi)。

輸入樣例:

456

輸出樣例:

3 15

代碼:

ls = list(map(int, input()))
print(len(ls), sum(ls))

7-6 sdut-字母替換

編寫(xiě)程序,將輸入字符串中的大寫(xiě)英文字母按以下對(duì)應(yīng)規(guī)則替換,其他字符不變。
(Python實(shí)現(xiàn)提示:轉(zhuǎn)換表用元組實(shí)現(xiàn))

原字母 對(duì)應(yīng)字母

    A        Z
    B        Y
    C        X
    D        W
   ...       ...
    X        C
    Y        B
    Z        A

輸入格式:
在一行中輸入字符串。

輸出格式:
在一行中給出替換完成后的字符串。

輸入樣例:

This is a pen.

輸出樣例:
在這里給出相應(yīng)的輸出。例如:

Ghis is a pen.

代碼:

s1 = input()
s2 = ""
for i in s1:
    if i.isupper():
        s2 += chr(155 - ord(i))
    else:
        s2 += i
print(s2)

7-7 sdut-輸出字母在字符串中位置索引

輸入一個(gè)字符串,再輸入兩個(gè)字符,求這兩個(gè)字符在字符串中的索引。

輸入格式:
第一行輸入字符串;

第二行輸入兩個(gè)字符,用空格分開(kāi)。

輸出格式:
從右向左輸出字符和索引(中間有一個(gè)空格)。下標(biāo)最大的字符最先輸出。每行一個(gè)。

輸入樣例:

pmispsissippi
s p

輸出樣例:

11 p
10 p
8 s
7 s
5 s
4 p
3 s
0 p

代碼:

s = input()
c1, c2 = input().split()
for i in range(len(s) - 1, -1, -1):
    if s[i] == c1 or s[i] == c2:
        print(i, s[i])

7-8 sdut- 輸出10個(gè)不重復(fù)的英文字母

輸入一個(gè)字符串,把最左邊的10個(gè)不重復(fù)的英文字母(不區(qū)分大小寫(xiě))挑選出來(lái)進(jìn)行輸出
如沒(méi)有10個(gè)英文字母,顯示信息“not found”。

輸入格式:
在一行中輸入字符串。

輸出格式:
在一行中輸出最左邊的10個(gè)不重復(fù)的英文字母;或者顯示信息:“not found"

輸入樣例1:

poemp134567

輸出樣例1:

not found

輸入樣例2:

This 156is a test example

輸出樣例2:

Thisaexmpl

代碼:

s1 = input()
s2 = ""
for each in s1:
    if each.isalpha() and each.upper() not in s2 and each.lower() not in s2:
            s2 += each
if len(s2) < 10:
    print("not found")
else:
    print(s2[0:10])

7-9 sdut-判斷兩個(gè)字符串是否為變位詞

如果一個(gè)字符串是另一個(gè)字符串的重新排列組合,那么這兩個(gè)字符串互為變位詞。
比如,“heart” 與 “earth” 互為變位詞,“Mary” 與 “arMy” 也互為變位詞?!癏ello world"與“worldHello"不是變位詞。

輸入格式:
第一行輸入第一個(gè)字符串;
第二行輸入第二個(gè)字符串。

輸出格式:
若是變位詞,輸出:yes;否則,輸出:no。

輸入樣例1:

Mary
arMy

輸出樣例1:

yes

輸入樣例2:

hello world
world hello

輸出樣例2:

yes

輸入樣例3:

I am very good.
verygood I am.

輸出樣例3:

no

代碼:

from collections import *

def slv(s1, s2):
    if Counter(s1) == Counter(s2):
        print("yes")
    else:
        print("no")

sa = input()
sb = input()
slv(sa, sb)

7-10 sdut-猴子選大王

一群猴子要選新猴王。新猴王的選擇方法是:
讓N只候選猴子圍成一圈,從某位置起順序編號(hào)為1~N號(hào)。從第1號(hào)開(kāi)始報(bào)數(shù),每輪從1報(bào)到3,凡報(bào)到3的猴子即退出圈子,接著又從緊鄰的下一只猴子開(kāi)始同樣的報(bào)數(shù)。如此不斷循環(huán),最后剩下的一只猴子就選為猴王。
請(qǐng)問(wèn)是原來(lái)第幾號(hào)猴子當(dāng)選猴王?

輸入格式:
在一行中給一個(gè)正整數(shù)N(≤1000)。

輸出格式:
在一行中輸出當(dāng)選猴王的編號(hào)。

輸入樣例:

11

輸出樣例:

7

代碼:

n,p = int(input()),0
for i in range(2, n + 1):
    p = (p + 3) % i
print(p + 1)

7-11 sdut-找出兩組數(shù)據(jù)中非公共元素

給定兩行輸入,每行代表一組元素。求兩組中非公共的元素。

輸入格式:
在兩行中給出兩組元素,每行的元素間用空格分開(kāi)。在一行中每個(gè)元素只出現(xiàn)一次。

輸出格式:
在一行中按照元素的輸入順序輸出不是兩組共有的元素,以空格分隔。(題目保證至少存在一個(gè)這樣的元素)

輸入樣例:

10 3 -5 2 8 0 5 -15 9 100
10 6 4 8 2 -5 9 0 100 1

輸出樣例:

3 5 -15 6 4 1

代碼:

ls1 = list(input().split())
ls2 = list(input().split())
ls3 = []
for it in ls1:
    if it in ls1 and it in ls2:
        pass
    else:
        ls3.append(it)
for it in ls2:
    if it in ls1 and it in ls2:
        pass
    else:
        ls3.append(it)
print(*ls3, sep=' ')

7-12 sdut-特定矩陣元素和

給定一個(gè)n×n的方陣,計(jì)算該矩陣主、副對(duì)角線上的所有元素之和。
主對(duì)角線為從矩陣的左上角至右下角的連線;副對(duì)角線為從矩陣的右上角至左下角的連線。

輸入格式:
輸入第一行給出正整數(shù)n(1<n≤10);

隨后n行,每行給出n個(gè)數(shù),其間以空格分隔。

輸出格式:
在一行中給出該矩陣主、副對(duì)角線的所有元素之和。

輸入樣例1

4
2 3 4 1
5 6 1 1
7 1 8 1
1 1 1 1

輸出樣例1

21

輸入樣例2

3
1 2 3
4 5 6
7 8 9

輸出樣例2

25

代碼:

n = int(input())
ls1, sum = [], 0
for i in range(n):
    ls2 = input().split()
    ls1.insert(i, ls2)
    sum += int(ls1[i][i]) + int(ls1[i][n - 1 - i])
if n % 2:
    sum -= int(ls1[n // 2][n // 2])
print(sum)

7-13 sdut-矩陣行、列、對(duì)角線和的最大值

求一個(gè)3*3矩陣每行、每列及對(duì)角線和的最大值。

輸入格式:
在一行輸入9個(gè)整數(shù)。

輸出格式:
在一行輸出每行、每列及對(duì)角線和的最大值。

輸入樣例:

3 6 5 9 8 2 1 4 5

輸出樣例:

19

代碼:

num=list(map(int,input().split()))
l=[]
l.append(num[0]+num[4]+num[8])
l.append(num[2]+num[4]+num[6])
for i in range(0,6,3):
    l.append(num[i]+num[i+1]+num[i+2])
for j in range(0,3):
    l.append(num[j]+num[j+3]+num[j+6])
print(max(l))

7-14 sdut-判斷上、下三角矩陣

給定一個(gè)三角矩陣,判斷其是否為:上三角矩陣、下三角矩陣。
上三角矩陣指主對(duì)角線以下的元素都為0的矩陣;
下三角矩陣指主對(duì)角線以上的元素都為0的矩陣;
主對(duì)角線為從矩陣的左上角至右下角的連線。
輸入矩陣是三種情況之一:上三角矩陣、下三角矩陣或者都不是。

輸入格式:
輸入第一行給出一個(gè)正整數(shù)T,為待測(cè)矩陣的個(gè)數(shù)。
接下來(lái)給出T個(gè)矩陣的信息:
每個(gè)矩陣信息的第一行給出一個(gè)不超過(guò)10的正整數(shù)n。
隨后n行,每行給出n個(gè)整數(shù),其間以空格分隔。

輸出格式:
每個(gè)矩陣的判斷結(jié)果占一行。
如果輸入的矩陣是上三角矩陣,輸出“upper”,如果輸入的矩陣是下三角矩陣,輸出“l(fā)ower”,都不是輸出“no”。

輸入樣例:

3
3
1 2 3
0 4 5
0 0 6
2
1 0
-8 2
4
1 2 4 0
56 5 7 9
3 4 8 9
0 0 0 0

輸出樣例:

upper
lower
no

代碼:

T = int(input())
for i in range(T):
    t = int(input())
    s = []
    s1 = 0
    s2 = 0
    for j in range(t):
        s.append(list(map(int,input().split())))
    for j in range(t):
        for k in range(t):
            if k > j:
                s1 += s[j][k]
            elif k < j:
                s2 += s[j][k]
    if s1 == 0 and s2 != 0:
        print("lower")
    elif s1 != 0 and s2 == 0:
        print("upper")
    else:
        print("no")

7-15 sdut-打印顯示直角字母圖形

給定行數(shù),輸出指定行數(shù)的字母組成的圖形。

輸入格式:
在一行內(nèi)給出行數(shù)n,1<=n<=10。

輸出格式:
輸出由大小字母組成的直角圖形。

輸入樣例1:

2

輸出樣例1:

A
AB

輸入樣例2:

7

輸出樣例2:

A
AB
ABC
ABCD
ABCDE
ABCDEF
ABCDEFG

代碼:

s="ABCDEFGHIJ"
n=int(input())
for i in range(n):
    for j in range(i+1):
        print(s[j],end='')
    print()

7-16 sdut-array2-4 打印“楊輝三角“ 品中國(guó)數(shù)學(xué)史 增民族自豪感(1)

背景介紹: 北宋人賈憲約1050年首先使用“賈憲三角”進(jìn)行高次開(kāi)方運(yùn)算。

南宋數(shù)學(xué)家楊輝在《詳解九章算法》(1261年)記載并保存了“賈憲三角”,故稱(chēng)楊輝三角。楊輝三角是中國(guó)數(shù)學(xué)史上的一個(gè)偉大成就。
楊輝三角,是中國(guó)古代數(shù)學(xué)的杰出研究成果之一,它把二項(xiàng)式系數(shù)圖形化,把組合數(shù)內(nèi)在的一些代數(shù)性質(zhì)直觀地從圖形中體現(xiàn)出來(lái),是一種離散型的數(shù)與形的結(jié)合。

中國(guó)南宋數(shù)學(xué)家楊輝1261年所著的《詳解九章算法》一書(shū)中出現(xiàn)。在歐洲,帕斯卡(1623----1662)在1654年發(fā)現(xiàn)這一規(guī)律,所以這個(gè)表又叫做帕斯卡三角形。帕斯卡的發(fā)現(xiàn)比楊輝要遲393年,比賈憲遲600年。

楊輝三角數(shù)字的特點(diǎn)為:

(1)在三角形的首列和對(duì)角線上,數(shù)值均為1;

(2)其余數(shù)據(jù)為:每個(gè)數(shù)字等于上一行的左右兩個(gè)數(shù)字之和,第n+1行的第i個(gè)數(shù)等于第n行的第i-1個(gè)數(shù)和第i個(gè)數(shù)之和,用公式表示為: C(n+1,i)=C(n,i)+C(n,i-1)。

圖示為:
SDUT—Python程序設(shè)計(jì)實(shí)驗(yàn)五(列表與元組)
楊輝三角的應(yīng)用:(a+b)的n次方,展開(kāi)式中的各項(xiàng)系數(shù)依次對(duì)應(yīng)楊輝三角的第(n+1)行中的每一項(xiàng)。

輸入格式:
欲打印楊輝三角的行數(shù)n(1<=n<=13)。

輸出格式:
每個(gè)數(shù)字占據(jù)4個(gè)字符的位置,數(shù)字左對(duì)齊,數(shù)字不足4位的右邊留出空格。

輸入樣例:

13

輸出樣例:

1   
1   1   
1   2   1   
1   3   3   1   
1   4   6   4   1   
1   5   10  10  5   1   
1   6   15  20  15  6   1   
1   7   21  35  35  21  7   1   
1   8   28  56  70  56  28  8   1   
1   9   36  84  126 126 84  36  9   1   
1   10  45  120 210 252 210 120 45  10  1   
1   11  55  165 330 462 462 330 165 55  11  1   
1   12  66  220 495 792 924 792 495 220 66  12  1 

代碼:

from math import *
def c(n, r):
    if n == 0 or r == 0:
        return 1
    else:
        return int(factorial(n) / (factorial(r) * factorial(n - r)))

x = int(input())
all,l = [], []
for n in range(x):
    for r in range(n + 1):
        l.append(c(n, r))
    all.append(l[:])
    l.clear()
for n in range(x):
    for nn in range(n + 1):
        print("%-4d" % all[n][nn], end='')
    print()

7-17 sdut-array2-5 打印“楊輝三角“ 品中國(guó)數(shù)學(xué)史 增民族自豪感(2)

背景介紹:
北宋人賈憲約1050年首先使用“賈憲三角”進(jìn)行高次開(kāi)方運(yùn)算。
南宋數(shù)學(xué)家楊輝在《詳解九章算法》(1261年)記載并保存了“賈憲三角”,故稱(chēng)楊輝三角。楊輝三角是中國(guó)數(shù)學(xué)史上的一個(gè)偉大成就。
楊輝三角,是中國(guó)古代數(shù)學(xué)的杰出研究成果之一,它把二項(xiàng)式系數(shù)圖形化,把組合數(shù)內(nèi)在的一些代數(shù)性質(zhì)直觀地從圖形中體現(xiàn)出來(lái),是一種離散型的數(shù)與形的結(jié)合。

中國(guó)南宋數(shù)學(xué)家楊輝1261年所著的《詳解九章算法》一書(shū)中出現(xiàn)。在歐洲,帕斯卡(1623----1662)在1654年發(fā)現(xiàn)這一規(guī)律,所以這個(gè)表又叫做帕斯卡三角形。帕斯卡的發(fā)現(xiàn)比楊輝要遲393年,比賈憲遲600年。

楊輝三角數(shù)字的特點(diǎn)為:
(1)在三角形的首列和對(duì)角線上,數(shù)值均為1;
(2)其余數(shù)據(jù)為:每個(gè)數(shù)字等于上一行的左右兩個(gè)數(shù)字之和,第n+1行的第i個(gè)數(shù)等于第n行的第i-1個(gè)數(shù)和第i個(gè)數(shù)之和,用公式表示為: C(n+1,i)=C(n,i)+C(n,i-1)。

圖示為:
SDUT—Python程序設(shè)計(jì)實(shí)驗(yàn)五(列表與元組)
楊輝三角的應(yīng)用:(a+b)的n次方,展開(kāi)式中的各項(xiàng)系數(shù)依次對(duì)應(yīng)楊輝三角的第(n+1)行中的每一項(xiàng)。

輸入格式:
欲打印楊輝三角的行數(shù)n(1<=n<=13)。

輸出格式:
(1)輸出的數(shù)據(jù)為等腰三角形樣式;
(2)每個(gè)數(shù)字占據(jù)4個(gè)字符的位置,數(shù)字左對(duì)齊,數(shù)字不足4位的右邊留出空格;
(3)最后一行的數(shù)值“1”頂格,前面無(wú)空格。

提示:以n=5,分析行首空格數(shù)為:
SDUT—Python程序設(shè)計(jì)實(shí)驗(yàn)五(列表與元組)
輸入樣例1:

5

輸出樣例:

        1   
      1   1   
    1   2   1   
  1   3   3   1   
1   4   6   4   1

輸入樣例2:

6

輸出樣例:

          1   
        1   1   
      1   2   1   
    1   3   3   1   
  1   4   6   4   1   
1   5   10  10  5   1  

代碼:

from math import *

def c(n, r):
    if n == 0 or r == 0:
        return 1
    else:
        return int(factorial(n) / (factorial(r) * factorial(n - r)))

x = int(input())
all = []
l = []
for n in range(x):
    for r in range(n + 1):
        l.append(c(n, r))
    all.append(l[:])
    l.clear()
cnt = x*2-2
for n in range(x):
    print(' '*cnt, end='')
    for nn in range(n + 1):
        print("%-4d" % all[n][nn], end='')
    print()
    cnt -= 2

7-18 sdut-列表去重

輸入一個(gè)列表,去掉列表中重復(fù)的數(shù)字,按原來(lái)次序輸出!

輸入格式:
在一行中輸入列表。

輸出格式:
在一行中輸出不重復(fù)的列表元素。

輸入樣例1:

[4,7,5,6,8,6,9,5] 

輸出樣例1:

4 7 5 6 8 9

輸入樣例2:

[1,2,3,"abcd","hello",1,2,3,4,5,6] 

輸出樣例2:

1 2 3 abcd hello 4 5 6

代碼:

ls1 = eval(input())
ls2 = sorted(set(ls1), key=ls1.index)
print(*ls2, sep=' ')

7-19 sdut-期末考試之排名次

期末考試結(jié)束了,童鞋們的成績(jī)也出來(lái)的了,可是為了排名次可忙壞了老師,因?yàn)閷W(xué)生太多了。這時(shí),老師把這個(gè)任務(wù)交給了你,希望你能幫老師完成。作為IT人,你當(dāng)然不能用笨笨的人工方法了,編程解決才是好辦法。
共有三門(mén)課,語(yǔ)文、數(shù)學(xué)和英語(yǔ),要求根據(jù)學(xué)生的各科成績(jī)計(jì)算出其總成績(jī),并根據(jù)總成績(jī)從高到低排序.

輸入格式:
第一行一個(gè)整數(shù)N(N<=100),代表學(xué)生的人數(shù)。
接下來(lái)的N行數(shù)據(jù),每行有三個(gè)整數(shù),C,M,E分別代表一個(gè)學(xué)生語(yǔ)文、數(shù)學(xué)和英語(yǔ)的成績(jī).

輸出格式:
一共N行,每行一個(gè)數(shù),從大到小,分別代表各個(gè)學(xué)生的總成績(jī).

輸入樣例:

3
70 80 90
59 59 59
100 100 100

輸出樣例:

300
240
177

代碼:

n = int(input())
ls = []
for i in range(n):
    ls.append(sum(map(int, input().split())))
ls.sort(reverse=True)
for it in ls:
    print(it)

7-20 sdut- 矩陣轉(zhuǎn)置(II)

從鍵盤(pán)輸入一個(gè)m(2<=m<=6)*n(2<=n<=6)階的矩陣,編程輸出它的轉(zhuǎn)置矩陣。

輸入格式:
在第一行輸入矩陣的行數(shù)m和列數(shù)n的值;

在第二行按照矩陣格式輸入矩陣的數(shù)據(jù),同行數(shù)據(jù)之間用空格隔開(kāi)。

輸出格式:
矩陣格式輸出,同行數(shù)據(jù)之間用一個(gè)空格隔開(kāi)。

輸入樣例:

3 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5

輸出樣例:

1 1 1
2 2 2
3 3 3
4 4 4
5 5 5

代碼:

n, m = map(int, input().split())
ls = []
for i in range(n):
    ls.append(list(map(int, input().split())))
ls_re = list(zip(*ls))
for i in range(m):
    print(*ls_re[i], sep=' ')

7-21 sdut-array2-1-矩陣轉(zhuǎn)置(I)

從鍵盤(pán)輸入矩陣的行數(shù)N,和一個(gè)N×N階的矩陣,編程輸出它的轉(zhuǎn)置矩陣。

輸入格式:
首行為矩陣的行數(shù)(列數(shù))N;
然后是N行N列組成矩陣的數(shù)據(jù)。每行內(nèi)數(shù)據(jù)之間用空格隔開(kāi)。
輸出格式:
矩陣格式輸出,每行內(nèi)非尾部的每個(gè)數(shù)據(jù)后跟一個(gè)空格,行尾數(shù)據(jù)后不加空格,為換行符。

輸入樣例:

4
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4

輸出樣例:

1 1 1 1
2 2 2 2
3 3 3 3
4 4 4 4

代碼:

n=int(input())
ls = []
for i in range(n):
    ls.append(list(map(int, input().split())))
ls_re = list(zip(*ls))
for i in range(n):
    print(*ls_re[i], sep=' ')

7-22 sdut-矩陣輸出

輸入n個(gè)整數(shù),輸出由這些整數(shù)組成的n行矩陣。

輸入格式:
第一行輸入一個(gè)正整數(shù)N(N<=20),表示后面要輸入的整數(shù)個(gè)數(shù)。

下面依次輸入N個(gè)整數(shù)。

輸出格式:
以輸入的整數(shù)為基礎(chǔ),輸出有規(guī)律的n行數(shù)據(jù)。

第1行原樣輸出獲得的N個(gè)整數(shù),從第2行開(kāi)始,上一行最后一個(gè)數(shù)變成下一行的首個(gè)數(shù)值。

輸入樣例:

5
3 6 2 5 8

輸出樣例:

3 6 2 5 8
8 3 6 2 5
5 8 3 6 2
2 5 8 3 6
6 2 5 8 3

代碼:

n = int(input())
ls = list(input().split()*2)
pos1, pos2 = n, len(ls)
for i in range(n):
    print(*ls[pos1:pos2], sep=' ')
    pos1 -= 1
    pos2 -= 1

7-23 sdut-對(duì)稱(chēng)矩陣的判定

輸入矩陣的行數(shù),再依次輸入矩陣的每行元素,判斷該矩陣是否為對(duì)稱(chēng)矩陣,若矩陣對(duì)稱(chēng)輸出“yes”,不對(duì)稱(chēng)輸出“no”。

輸入格式:
輸入有多組,每一組第一行輸入一個(gè)正整數(shù)N(N<=20),表示矩陣的行數(shù)(若N=0,表示輸入結(jié)束)。

下面依次輸入N行數(shù)據(jù)。

輸出格式:
若矩陣對(duì)稱(chēng)輸出“yes",不對(duì)稱(chēng)輸出“no”。

輸入樣例:

3
6 3 12
3 18 8
12 8 7
3
6 9 12
3 5 8
12 6 3
0

輸出樣例:

yes
no

代碼:

while True:
    n = int(input())
    if n == 0:
        break
    else:
        ls, flag = [], 1
        for i in range(0, n):
            ls.append(list(input().split()))
        for i in range(n):
            for j in range(n):
                if ls[i][j] != ls[j][i]:
                    flag = 0
        if flag == 0:
            print("no")
        else:
            print("yes")

7-24 sdut-array2-2-局部峰值

給定一個(gè)N行乘N列的2D數(shù)組,逐行掃描該值并打印出所有局部峰值,該值大于其左上、上、右上、左、右、左下、下、右下的值(如果有)。

N的范圍是2到150。

輸入格式:
多組輸入。每組輸入包含兩部分:

第一行包含整數(shù)N,表示2D數(shù)組的大小。

后面的N行中的每一行包含N個(gè)非負(fù)整數(shù),用空格分隔。

輸出格式:
對(duì)于每組輸入,輸出所有局部峰值按行順序排列,每個(gè)局部峰值后跟一個(gè)空格。

如果沒(méi)有局部峰值,則輸出“none”。

每組輸出之后加換行符。

輸入樣例:

2 
5 1 
1 0 
2
5 2
2 3
3
5 5 5
0 5 0
5 5 5
3
1 2 5
2 3 2
4 2 3

輸出樣例:

5 
5 
none
5 4 

代碼:

while True:
    try:
        n, ls = int(input()), []
        ls.append([float('-inf')] * (n + 2))
        for i in range(n):
            row = list(map(int, input().split()))
            row.insert(0, float('-inf'))
            row.append(float('-inf'))
            ls.append(row)
        ls.append([float('-inf')] * (n + 2))
        flag = 0
        for i in range(1, n + 1):
            for j in range(1, n + 1):
                if ls[i][j] > max(ls[i - 1][j - 1], ls[i - 1][j], ls[i - 1][j + 1], ls[i][j - 1], ls[i][j + 1],
                                  ls[i + 1][j - 1], ls[i + 1][j], ls[i + 1][j + 1]):
                    print("%d " % ls[i][j], end='')
                    flag = 1
        if flag == 0:
            print("none")
        else:
            print()
    except EOFError:
        break

代碼可能不是特別好,感謝大家耐心閱讀
212丨acc丨2022.11.4文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-482124.html

到了這里,關(guān)于SDUT—Python程序設(shè)計(jì)實(shí)驗(yàn)五(列表與元組)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • SDUT-程序設(shè)計(jì)基礎(chǔ)-實(shí)驗(yàn)4-for循環(huán)(上)

    在開(kāi)始之前,我想要提醒一下大家,在看完答案和解析以后,一定要自己再寫(xiě)一遍,一味的復(fù)制粘貼沒(méi)有任何效果,當(dāng)然,再解析中有任何看不懂的內(nèi)容都可以私信我?。?for循環(huán)相比while循環(huán),二者不能說(shuō)誰(shuí)比誰(shuí)更好,我們?cè)诖虼a的過(guò)程中,要根據(jù)不同的情況選擇不同的循

    2024年02月06日
    瀏覽(47)
  • Python程序設(shè)計(jì)——列表

    Python程序設(shè)計(jì)——列表

    關(guān)鍵點(diǎn):一個(gè)列表可以存儲(chǔ)任意大小的數(shù)據(jù)集合。 ????????程序一般都需要存儲(chǔ)大量的數(shù)值。假設(shè),舉個(gè)例子,需要讀取100個(gè)數(shù)字,計(jì)算出它們的平均值,然后找出多少個(gè)數(shù)字是高于這個(gè)平均值的。程序首先讀取100個(gè)數(shù)字并計(jì)算它們的平均值,然后把每個(gè)數(shù)字和平均值進(jìn)

    2024年02月12日
    瀏覽(17)
  • Python 程序設(shè)計(jì)入門(mén)(008)—— 列表的操作(3):列表推導(dǎo)式

    使用列表推導(dǎo)式可以快速生成一個(gè)列表?;蛘吒鶕?jù)某個(gè)列表生成滿(mǎn)足指定需求的列表。列表推導(dǎo)式包含在方括號(hào)內(nèi),它由一個(gè)表達(dá)式、一個(gè)或多個(gè) for 循環(huán)和一個(gè)用于過(guò)濾生成的列表的可選條件組成。 列表推導(dǎo)式的語(yǔ)法格式如下: 說(shuō)明: (1)Expressinon:表達(dá)式,用于計(jì)算列

    2024年02月14日
    瀏覽(23)
  • python程序設(shè)計(jì)基礎(chǔ) 實(shí)驗(yàn)三

    python程序設(shè)計(jì)基礎(chǔ) 實(shí)驗(yàn)三

    ?python實(shí)驗(yàn)專(zhuān)欄,歡迎訂閱與關(guān)注! ★觀前提示 :本篇內(nèi)容為python程序設(shè)計(jì)實(shí)驗(yàn),代碼內(nèi)容經(jīng)測(cè)試沒(méi)有問(wèn)題,但是可能會(huì)不符合每個(gè)人實(shí)驗(yàn)的要求,因此以下內(nèi)容建議僅做思路參考。 一、實(shí)驗(yàn)?zāi)康?(1)掌握Python各種函數(shù)的使用。 二、實(shí)驗(yàn)內(nèi)容 1、編寫(xiě)函數(shù),求三個(gè)整數(shù)的

    2023年04月13日
    瀏覽(22)
  • 同濟(jì)大學(xué)Python程序設(shè)計(jì)基礎(chǔ) 實(shí)驗(yàn)九:數(shù)據(jù)可視化

    1.創(chuàng)建一個(gè)2行1列的繪圖區(qū)并在第1行第1列繪制函數(shù)f(x)=x2 的曲線圖(x的取值范圍[-1,1]),在第2行第1列繪制函數(shù)f(x)=1/x的曲線圖(x的取值范圍[0,1]),效果如圖2.9.1所示。 2.調(diào)用scatter函數(shù)繪制正弦函數(shù)的曲線,請(qǐng)?jiān)谇€中添加一個(gè)表示XY的軸線,并在X軸方向輸出刻度標(biāo)記文本,

    2024年02月16日
    瀏覽(27)
  • Java程序設(shè)計(jì)實(shí)驗(yàn)——實(shí)驗(yàn)6

    Spraing※boy 在本次實(shí)驗(yàn)中,加入了實(shí)驗(yàn)中可能遇到的知識(shí)點(diǎn)的總結(jié)提示和相關(guān)知識(shí)點(diǎn)的學(xué)習(xí)鏈接,個(gè)人覺(jué)得這次實(shí)驗(yàn)在java中的應(yīng)用還是非常廣泛的,在項(xiàng)目的開(kāi)發(fā)中會(huì)經(jīng)常用到,希望各位友友們能通過(guò)這篇博客真正學(xué)到一些東西??。 附上:java學(xué)習(xí)筆記 1、將下列數(shù)據(jù):“

    2024年02月03日
    瀏覽(25)
  • Swing程序設(shè)計(jì)(10)列表框,文本框,文本域,密碼框

    Swing程序設(shè)計(jì)(10)列表框,文本框,文本域,密碼框

    文章目錄 前言 一、列表框 二、文本框(域) 1.文本框 2.文本域 三、密碼框 總結(jié) ? ? ? 該篇文章簡(jiǎn)單介紹了Java中Swing組件里的列表框、文本框、密碼框。 ? ? ? ? 列表框(JList)相比下拉框,自身只是在窗體上占據(jù)固定的大小。如果需要完全顯示列表框信息,可以將列表框

    2024年02月22日
    瀏覽(18)
  • C#面向?qū)ο蟪绦蛟O(shè)計(jì)課程實(shí)驗(yàn)二: 實(shí)驗(yàn)名稱(chēng):Windows 窗體程序

    C#面向?qū)ο蟪绦蛟O(shè)計(jì)課程實(shí)驗(yàn)二: 實(shí)驗(yàn)名稱(chēng):Windows 窗體程序

    (1) 掌握控件 Label、Button、TextBox 的常用屬性、方法、事件的基本應(yīng)用; (2) 掌握控件 RadioButton、CheckBox 的常用屬性、方法、事件的基本應(yīng)用通過(guò)簡(jiǎn)單程 序; (3) 掌握框-架類(lèi)控件 GroupBox、Panel、TabControl 的基本應(yīng)用; (4) 掌握控件 ListBox、CombBox 、ListView 的常用屬性、方法、事件的

    2024年02月04日
    瀏覽(18)
  • C#程序設(shè)計(jì)實(shí)驗(yàn)

    C#程序設(shè)計(jì)實(shí)驗(yàn)

    實(shí)驗(yàn)1 C# 基本編程 題目 VS下新建一個(gè)控制臺(tái)項(xiàng)目:諸如:hello world程序,運(yùn)行程序輸出結(jié)果。并解釋C#程序的結(jié)構(gòu): 諸如:一個(gè)基本的C#程序包含幾部分 ,每一部分的功能是什么。。。 完整代碼 運(yùn)行結(jié)果 這段代碼是一個(gè)經(jīng)典的 “Hello World” 程序,用于展示 C# 語(yǔ)言的基本結(jié)構(gòu)

    2024年02月08日
    瀏覽(17)
  • 南京郵電大學(xué)匯編語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)二(用戶(hù)登錄驗(yàn)證程序的設(shè)計(jì))

    1.掌握循環(huán)程序的編寫(xiě)以及結(jié)束循環(huán)的方法。 2.掌握DOS、BIOS功能調(diào)用的使用方法。 用戶(hù)登錄驗(yàn)證程序的實(shí)現(xiàn) 程序執(zhí)行后,給出提示操作,請(qǐng)用戶(hù)鍵入用戶(hù)名和密碼;用戶(hù)在鍵入密碼時(shí),程序不回顯鍵入字符;只有當(dāng)用戶(hù)鍵入的用戶(hù)名,密碼字符串和程序內(nèi)定的字符串相同時(shí)

    2023年04月18日
    瀏覽(24)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包