パーソナルブログメモリ

a = [1, 1]
for _ in "*" * 999: a += [sum(a[-2:])]
print(a)

Python 3者3様

2019-03-06 | python入門(すぐさまマスター)
とある問題を15分で少ない文字数でコーディングする問題

n個の文字列が与えられ、その文字列の平均キャラクターコードが短いものの最初の文字と長いものの最後の文字コードを答えるという問題
例によって半角の<はhtmlのタグと認識されるのでちょっとプログラムを変換しています。

1番上が私、問題文が英語でよくわからないので作りながら仕様変更をしているため変数名もめちゃめちゃです。(177)
2番目がオランダの方、最近になってやっとこの手のプログラム少しわかるようになってきました。(170)
3番目はフランスの方、辞書を使おうとしていたり、試行錯誤の後が見えます。(210)
4番目はもう少し頑張って縮めてみたものです。たぶん170より短いはず。(動くかどうかは不明)


n=int(input())
b=9999
l=0
a,c="",""
for i in range(n):
 s=input().replace(" ","")
 n=len(s)
 q=0
 for j in s:
  q+=ord(j)
 q/=n
 if q>l:l,c=q,s
 if b>q:b,a=q,s
print(a[0]+c[-1])




d={i:sum(ord(j)for j in i if j.isalpha())/len([g for g in i if g.isalpha()])for i in[input()for i in range(int(input()))]}
print(min(d,key=d.get)[0]+max(d,key=d.get)[-1])




l=[]
d={}
for i in range(int(input())):l+=[input()]
for i in l:
 a=[ord(j) for j in i if j.isalpha()];d[i]=sum(a)/len(a)
M=0
m=999
for i in d:
 if d[i]>M:
  M=d[i];x=i
 if m>d[i]:
  m=d[i];y=i
print(y[0]+x[-1])




b=9999
l=0
a,c="*",""
for i in a*int(input()):
 s=input().replace(" ","")
 q=sum(ord(j)for j in s)/len(s):
 if q>l:l,c=q,s
 if b>q:b,a=q,s
print(a[0]+c[-1])


最近おもっている謎の持論
究極のプログラムは四角

最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。