Pythonテーマ集2(討論を歓迎します!参考内容があって、例えば侵立削除)
47209 ワード
7-1 jmu-python-逆シーケンス出力(5点)
1行の文字列を入力し、次の処理を行います.
入力形式:文字列内の要素は、スペースまたは複数のスペースで区切られます.
≪出力フォーマット|Output Format|emdw≫:文字列内のすべての要素を逆順序で出力します.そして元のリストを出力します.次に、元のリストの各要素を逆順序で出力し、中央を1つのスペースで区切ります.注意:最後の要素の後ろにスペースを付けることはできません.
サンプルを入力:
出力サンプル:
エラーコード
エラー出力
マイコード:
出力:
7-2リストデリバリー(10点)
リストを入力して、リストの重複する数字を取り除いて、元の順序で出力します!
入力形式:1行にリストを入力
≪出力フォーマット|Output Format|oem_src≫:重複しないリスト要素を1行に出力します.
入力サンプル:ここで入力のセットを指定します.例:
出力サンプル:ここで対応する出力を示します.例:
マイコード:
7-4文字列の大文字と小文字の個数を統計して出力(10分)
改行で終わる文字列を入力し、文字列の中で小文字のアルファベットの個数(小文字のアルファベット:‘a’,‘e’,‘i’,‘o’,‘u’)を統計して出力します.
≪フォーマットの入力|Input Format|oem_src≫:行に文字列を入力します.
≪出力フォーマット|Output Format|oem_src≫:1行の出力文字列における小文字のアルファベット数
入力サンプル:ここで入力のセットを指定します.例:
出力サンプル:ここで対応する出力を示します.例:
マイコード:
7-5方程式の和を計算し、新しい方程式を作成します(20分)
正の整数n(1≦n)を1つ入力、n次行列aとbを行ごとに読み込んでn次行列cを生成出力し、cの要素はaとbの対応する要素の和である.c[i][j]=a[i][j]+b[i][j] i,j=0,1,2…n-1(1<=c[i]<=99)
入力フォーマット:第1行入力n第2行入力a方程式第1行入力b方程式
出力フォーマット:出力c方程式
入力サンプル:ここで入力のセットを指定します.例:
出力サンプル:ここで対応する出力を示します.例:
7-7活動投票状況分析(10点)
集合を利用して活動投票状況を分析する.第一小隊には5人の隊員がいて、番号は1,2,3,4,5です.第2小隊にも5人の隊員がいて、番号6,7,8,9,10です.得票文字列を入力して、第2小隊が得票していない隊員を求めます
入力形式:1行に得票した隊員のシリアル番号をカンマで区切ります.
出力フォーマット:1行目に2番目の小隊が得票していない隊員番号を出力します.
入力サンプル:ここで入力のセットを指定します.例:
出力サンプル:ここで対応する出力を示します.例:
マイコード:
あまりよくないです.strでやったほうがいいと思います
7-8 jmu-python-繰返し要素判定(30分)
各リストに1つの要素が2回現れる限り、そのリストは重複要素を含むと判定される.作成関数は、リストに重複要素が含まれているかどうかを判定し、含まれている場合はTrueを返します.そうでない場合はFalseを返します.次に、この関数を使用してn行文字列を処理します.最後に、重複要素を含む行数と重複要素を含まない行数を統計します.
入力フォーマット:nを入力し、次にn行の文字列を入力することを表します.次にn行の文字列を入力し、文字列間の要素をスペースで区切ります.
出力形式:True=重複要素を含む行数、False=重複要素を含まない行数、後ろにスペースがあります.
サンプルを入力:
出力サンプル:
マイコード:
7-11両数の和(20点)
整数のセットとターゲットの数を指定し、指定した整数のセットの中で2つの数値を見つけて、ターゲットの数、例えば見つけて、解は唯一です.見つからない場合は「no answer」と表示されます.出力の下付き文字は、小さい順に並べ替えられます.一重ループに辞書を加えて実現します.
≪フォーマットの入力|Input Format|emdw≫:このセットの数を1行に指定します.次の行に目標数を入力
≪出力フォーマット|Output Format|emdw≫:1行に2つの数の下付き文字を出力し、1つのスペースで区切ります.
入力サンプル1:ここで入力のセットを与えます.例:
出力サンプル1:ここでは、対応する出力が与えられる.例:
入力サンプル2:ここで入力のセットを与えます.例:
出力サンプル2:ここでは、対応する出力が与えられる.例:
マイコード:
7-13歌手の得点を求める(20点)
正の整数n(n>4)を入力し、n個の実数を入力して歌手の得点(小数2桁保持)を求める.歌の評価パーティーでn(n>4)人の審査員が歌手に点数をつけた.採点ルール:審査員ごとに順次採点し、最高点2個と最低点2個を除いて、残りの点数の平均値を歌手の得点と計算する.
入力フォーマット:1行目にnを入力2行目にn個のスコアを入力
≪出力フォーマット|Output Format|oem_src≫:平均スコアを1行に出力します.
入力サンプル:ここで入力のセットを指定します.例:
出力サンプル:ここで対応する出力を示します.例:
マイコード:
7-14文字列内のアルファベットの位置インデックス(10点)を出力
1つの文字列を入力し、2つの文字を入力して、この2つの文字の文字列内のインデックスを求めます.
入力フォーマット:1行目の入力文字列2行目に2文字を入力し、スペースで区切ります.
≪出力フォーマット|Output Format|emdw≫:文字とインデックスを逆出力します.つまり、最後の最初の出力です.行ごとに1つ.
入力サンプル:ここで入力のセットを指定します.例:
出力サンプル:ここで対応する出力を示します.例:
マイコード:
あまり簡単ではありません.またlistはメタグループの問題になります
7-15 jmu-Java&Python-文字の単語数を集計し、出現回数でソート(30分)
いくつかのセグメントの文字(英語)の単語の数を統計し、各単語の出現回数を統計する必要があります.
注意1:単語間は、スペース(1つまたは複数のスペース)で区切られます.注意2:空白行または空白行は無視します.
≪基本|Basic|oraolap≫:統計では、大文字と小文字を区別し、指定した句読点は削除されません.
ステップ:
統計する前に、指定した句読点をテキストから削除する必要があります!,:*?注意:削除とは、該当する文字を1つのスペースで置き換えることです.単語を統計するときは、単語の大文字と小文字を無視する必要があります.いくつかの行の英语を入力して、最后に!!!を終了します.
単語数出現回数上位10を示す単語(回数は降順、回数が同じ場合はキー値のアルファベット昇順)および出現回数を出力します.
入力サンプル1
出力サンプル1
入力サンプル2
出力サンプル2
作者:鄭如浜単位:集美大学時間制限:1600 msメモリ制限:180 MBコード長制限:16 KB私のコード:
ここではsorted(l,key=lambda x:x[1],reverse=True)を参照する
keyパラメータはsorted()関数がどの要素を用いて配列されるかを表す.reverseパラメータは前述したように逆配列の役割を果たす.デフォルトでは、reverseパラメータはFalseです.
1行の文字列を入力し、次の処理を行います.
入力形式:文字列内の要素は、スペースまたは複数のスペースで区切られます.
≪出力フォーマット|Output Format|emdw≫:文字列内のすべての要素を逆順序で出力します.そして元のリストを出力します.次に、元のリストの各要素を逆順序で出力し、中央を1つのスペースで区切ります.注意:最後の要素の後ろにスペースを付けることはできません.
サンプルを入力:
a b c e f gh
出力サンプル:
ghfecba
['a', 'b', 'c', 'e', 'f', 'gh']
gh f e c b a
エラーコード
s=input().split()
print(''.join(s)[::-1])
print(s)
print(' '.join(s)[::-1])
エラー出力
>>> %Run 1.py
a b c e f gh
hgfecba
['a', 'b', 'c', 'e', 'f', 'gh']
hg f e c b a
マイコード:
s=input().split()
t=s[:]
s.reverse()
print(''.join(s))
print(t)
print(' '.join(s))
出力:
>>> %Run 1.py
a b c e f gh
ghfecba
['a', 'b', 'c', 'e', 'f', 'gh']
gh f e c b a
7-2リストデリバリー(10点)
リストを入力して、リストの重複する数字を取り除いて、元の順序で出力します!
入力形式:1行にリストを入力
≪出力フォーマット|Output Format|oem_src≫:重複しないリスト要素を1行に出力します.
入力サンプル:ここで入力のセットを指定します.例:
[4,7,5,6,8,6,9,5]
出力サンプル:ここで対応する出力を示します.例:
4 7 5 6 8 9
マイコード:
s=eval(input())# ,
list2=[str(i) for i in s]# str, 4-->'4'
a=[]
for i in list2:
if i not in a:
a.append(i)
print(' '.join(a))
7-4文字列の大文字と小文字の個数を統計して出力(10分)
改行で終わる文字列を入力し、文字列の中で小文字のアルファベットの個数(小文字のアルファベット:‘a’,‘e’,‘i’,‘o’,‘u’)を統計して出力します.
≪フォーマットの入力|Input Format|oem_src≫:行に文字列を入力します.
≪出力フォーマット|Output Format|oem_src≫:1行の出力文字列における小文字のアルファベット数
入力サンプル:ここで入力のセットを指定します.例:
HelloI
出力サンプル:ここで対応する出力を示します.例:
2
マイコード:
s=input()
num=0
for i in s:
if i in ['u','o','i','e','a']:
num+=1
print(num)
7-5方程式の和を計算し、新しい方程式を作成します(20分)
正の整数n(1≦n)を1つ入力、n次行列aとbを行ごとに読み込んでn次行列cを生成出力し、cの要素はaとbの対応する要素の和である.c[i][j]=a[i][j]+b[i][j] i,j=0,1,2…n-1(1<=c[i]<=99)
入力フォーマット:第1行入力n第2行入力a方程式第1行入力b方程式
出力フォーマット:出力c方程式
入力サンプル:ここで入力のセットを指定します.例:
3
1 2 3 4 5 6 7 8 9
2 3 4 5 6 7 8 9 1
出力サンプル:ここで対応する出力を示します.例:
3 5 7
9 11 13
15 17 10
s=int(input())
a=input().split()#
b=input().split()#
l=len(a)
a=[int(x) for x in a]# int
b=[int(x) for x in b]# int
c=[]
k=0
for i in range(l):
c.append(a[i]+b[i])# , qi , 。
# append insert 。
for i in range(s):
for j in range(s):
print("{:2d}".format(c[k]),end=" ")
k+=1
print("")
7-7活動投票状況分析(10点)
集合を利用して活動投票状況を分析する.第一小隊には5人の隊員がいて、番号は1,2,3,4,5です.第2小隊にも5人の隊員がいて、番号6,7,8,9,10です.得票文字列を入力して、第2小隊が得票していない隊員を求めます
入力形式:1行に得票した隊員のシリアル番号をカンマで区切ります.
出力フォーマット:1行目に2番目の小隊が得票していない隊員番号を出力します.
入力サンプル:ここで入力のセットを指定します.例:
1,5,9,3,9,1,1,7,5,7,7,3,3,1,5,7,4,4,5,4,9,5,10,9
出力サンプル:ここで対応する出力を示します.例:
6 8
マイコード:
あまりよくないです.strでやったほうがいいと思います
a=input()
a=a.strip()# 9
a=a.split(',')
a=list(set(a))
a=[int(x) for x in a]
b=[1,2,3,4,5,6,7,8,9,10]
for x in a:
b.remove(x)# remove int
for x in b:
if x<=5:
b.remove(x)
b=[str(x) for x in b]#
b=' '.join(b)
print(b)
7-8 jmu-python-繰返し要素判定(30分)
各リストに1つの要素が2回現れる限り、そのリストは重複要素を含むと判定される.作成関数は、リストに重複要素が含まれているかどうかを判定し、含まれている場合はTrueを返します.そうでない場合はFalseを返します.次に、この関数を使用してn行文字列を処理します.最後に、重複要素を含む行数と重複要素を含まない行数を統計します.
入力フォーマット:nを入力し、次にn行の文字列を入力することを表します.次にn行の文字列を入力し、文字列間の要素をスペースで区切ります.
出力形式:True=重複要素を含む行数、False=重複要素を含まない行数、後ろにスペースがあります.
サンプルを入力:
5
1 2 3 4 5
1 3 2 5 4
1 2 3 6 1
1 2 3 2 1
1 1 1 1 1
出力サンプル:
True=3, False=2
マイコード:
# !!!!
a=int(input())
true=false=0
for i in range(a):
b=input().split()
if len(list(b))==len(set(b)):#set
false+=1
else:
true+=1
print('True=%d, False=%d'%(true,false))
7-11両数の和(20点)
整数のセットとターゲットの数を指定し、指定した整数のセットの中で2つの数値を見つけて、ターゲットの数、例えば見つけて、解は唯一です.見つからない場合は「no answer」と表示されます.出力の下付き文字は、小さい順に並べ替えられます.一重ループに辞書を加えて実現します.
≪フォーマットの入力|Input Format|emdw≫:このセットの数を1行に指定します.次の行に目標数を入力
≪出力フォーマット|Output Format|emdw≫:1行に2つの数の下付き文字を出力し、1つのスペースで区切ります.
入力サンプル1:ここで入力のセットを与えます.例:
2,7,11,15
9
出力サンプル1:ここでは、対応する出力が与えられる.例:
0 1
入力サンプル2:ここで入力のセットを与えます.例:
3,6,9
10
出力サンプル2:ここでは、対応する出力が与えられる.例:
no answer
マイコード:
a1=input()#(1,0) (0,1)
b=int(input())
a=a1.split(',')
ai=[int(x) for x in a]
aa=list(enumerate(ai))
count=0
for i in range(len(ai)):
for j in range(len(ai)):
if ai[i]+ai[j]==b:
if j<i:
print("{:} {:}".format(j,i))
count=1
if count==0:
print("no answer")
7-13歌手の得点を求める(20点)
正の整数n(n>4)を入力し、n個の実数を入力して歌手の得点(小数2桁保持)を求める.歌の評価パーティーでn(n>4)人の審査員が歌手に点数をつけた.採点ルール:審査員ごとに順次採点し、最高点2個と最低点2個を除いて、残りの点数の平均値を歌手の得点と計算する.
入力フォーマット:1行目にnを入力2行目にn個のスコアを入力
≪出力フォーマット|Output Format|oem_src≫:平均スコアを1行に出力します.
入力サンプル:ここで入力のセットを指定します.例:
10
10 10 9 9 9 8 8 8 7 7
出力サンプル:ここで対応する出力を示します.例:
aver=8.50
マイコード:
# , ?
s=int(input())
su=input().split()
si=[int(x) for x in su]
for i in range(len(si)):
i=0
while i<len(si)-1:
if si[i]>si[i+1]:
si[i],si[i+1]=si[i+1],si[i]
i+=1
si.pop()
si.pop()
si.pop(0)
si.pop(0)
sum=0
for i in range(len(si)):
sum+=si[i]
aver=sum/(len(si))
print("aver={:.2f}".format(aver))
7-14文字列内のアルファベットの位置インデックス(10点)を出力
1つの文字列を入力し、2つの文字を入力して、この2つの文字の文字列内のインデックスを求めます.
入力フォーマット:1行目の入力文字列2行目に2文字を入力し、スペースで区切ります.
≪出力フォーマット|Output Format|emdw≫:文字とインデックスを逆出力します.つまり、最後の最初の出力です.行ごとに1つ.
入力サンプル:ここで入力のセットを指定します.例:
mississippi
s p
出力サンプル:ここで対応する出力を示します.例:
9 p
8 p
6 s
5 s
3 s
2 s
マイコード:
あまり簡単ではありません.またlistはメタグループの問題になります
s=input()
k=input().split()
c=list(s)
ca=list(enumerate(c))#
list1=[i for i,x in enumerate(c) if x==k[0]]
list2=[i for i,x in enumerate(c) if x==k[1]]
listt=list1+list2
listt.reverse()
for i in range(len(listt)):
m=listt[i]
print("{:} {:}".format(listt[i],ca[m][1]))
7-15 jmu-Java&Python-文字の単語数を集計し、出現回数でソート(30分)
いくつかのセグメントの文字(英語)の単語の数を統計し、各単語の出現回数を統計する必要があります.
注意1:単語間は、スペース(1つまたは複数のスペース)で区切られます.注意2:空白行または空白行は無視します.
≪基本|Basic|oraolap≫:統計では、大文字と小文字を区別し、指定した句読点は削除されません.
ステップ:
統計する前に、指定した句読点をテキストから削除する必要があります!,:*?注意:削除とは、該当する文字を1つのスペースで置き換えることです.単語を統計するときは、単語の大文字と小文字を無視する必要があります.いくつかの行の英语を入力して、最后に!!!を終了します.
単語数出現回数上位10を示す単語(回数は降順、回数が同じ場合はキー値のアルファベット昇順)および出現回数を出力します.
入力サンプル1
failure is probably the fortification in your pole
it is like a peek your wallet as the thief when you
are thinking how to spend several hard-won lepta
when you are wondering whether new money it has laid
background because of you then at the heart of the
most lax alert and most low awareness and left it
godsend failed
!!!!!
出力サンプル1
46
the=4
it=3
you=3
and=2
are=2
is=2
most=2
of=2
when=2
your=2
入力サンプル2
Failure is probably The fortification in your pole!
It is like a peek your wallet as the thief when You
are thinking how to. spend several hard-won lepta.
when yoU are? wondering whether new money it has laid
background Because of: yOu?, then at the heart of the
Tom say: Who is the best? No one dare to say yes.
most lax alert and! most low awareness and* left it
godsend failed
!!!!!
出力サンプル2
54
the=5
is=3
it=3
you=3
and=2
are=2
most=2
of=2
say=2
to=2
作者:鄭如浜単位:集美大学時間制限:1600 msメモリ制限:180 MBコード長制限:16 KB私のコード:
ここではsorted(l,key=lambda x:x[1],reverse=True)を参照する
keyパラメータはsorted()関数がどの要素を用いて配列されるかを表す.reverseパラメータは前述したように逆配列の役割を果たす.デフォルトでは、reverseパラメータはFalseです.
words=""
while True:
a=input()
if a=="!!!!!":
break
a=a.lower()
for i in "!.,:*?":
a=a.replace(i,' ')
words=words+" "+a
words=words.split()
s={}
for i in words:
if i in s:
s[i]+=1
else:
s[i]=1
s=list(s.items())
s.sort(key=lambda x:x[0])
s.sort(key=lambda x:x[1],reverse=True)
print(len(s))
for i in range(10):
word,count=s[i]
print("{}={}".format(word,count))