2018北理工python言語プログラム設計期末テストプログラミング問題
1606 ワード
最初の問題:シーザーのパスワードB
第2題:水仙の花の数B
3番目の問題:名前を入力して、私はあなたに言いたいです.
4番目の問題:垂直出力
5番目の問題:ハムレット語周波数統計
sr1="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
str1=input("")
str2=""
for i in str1:
if i==" ":
str2+=" "
elif i >= 'a' and i <= 'z':
j=sr1.find(i)
str2=str2+sr1[(j+3)%26]
elif i >= 'A' and i <= 'Z':
j=sr1.find(i)
str2=str2+sr1[(j+3)%26 + 26]
else:
str2 = str2 + i
print(str2)
第2題:水仙の花の数B
ls = []
for num1 in range(100, 1000):
a = num1 % 10
b = (num1//10) % 10
c = num1 // 100
if (a**3 + b**3 + c**3) == num1:
ls.append(num1)
for i in ls[0:-1]:
print("{},".format(i),end='')
print(ls[-1])
3番目の問題:名前を入力して、私はあなたに言いたいです.
name = input()
words = input()
print("{}, ,{}".format(name,words))
4番目の問題:垂直出力
str1 = input()
for i in str1:
print(i)
5番目の問題:ハムレット語周波数統計
def getText():
txt = open("hamlet.txt", "r").read()
txt = txt.lower()
for ch in '!"#$%&()*+,-./:;<=>?@[\\]^_‘{|}~':
txt = txt.replace(ch, " ") #
return txt
hamletTxt = getText()
words = hamletTxt.split()
counts = {}
for word in words:
counts[word] = counts.get(word,0) + 1
items = list(counts.items())
items.sort(key=lambda x:x[1], reverse=True)
for i in range(10):
word, count = items[i]
print ("{0:<10},{1:>5}".format(word, count))