DataStructure 2 04生態学(4385)
DataStructure 2 04エコロジー(4385)
質問する
プログラムは複数の行で構成され、各行にツリー名があります.いずれの名前も30文字を超えず、最大10000種、最大10万本の木を入力します.
入力
Red Alder
Ash
Aspen
Basswood
Ash
Beech
Yellow Birch
Ash
Cherry
Cottonwood
Ash
Cypress
Red Elm
Gum
Hackberry
White Oak
Hickory
Pecan
Hard Maple
White Oak
Soft Maple
Red Oak
Red Oak
White Oak
Poplan
Sassafras
Sycamore
Black Walnut
Willow
しゅつりょく
Ash 13.7931
Aspen 3.4483
Basswood 3.4483
Beech 3.4483
Black Walnut 3.4483
Cherry 3.4483
Cottonwood 3.4483
Cypress 3.4483
Gum 3.4483
Hackberry 3.4483
Hard Maple 3.4483
Hickory 3.4483
Pecan 3.4483
Poplan 3.4483
Red Alder 3.4483
Red Elm 3.4483
Red Oak 6.8966
Sassafras 3.4483
Soft Maple 3.4483
Sycamore 3.4483
White Oak 10.3448
Willow 3.4483
Yellow Birch 3.4483
に答える
コード#コード#
import sys
sys.stdin = open("input.txt","rt")
def input():
return sys.stdin.readline().rstrip()
# 값 넣는 part
dic = dict()
cnt = 0
while True:
s = input()
if s == "": # input값이 없다면 break
break
cnt += 1
if s in dic: # 딕셔너리에 키가 있는지 확인
dic[s] += 1
else:
dic[s] = 1 #
dic = sorted(dic.items()) # 키를 기준으로 오름차순 정렬하기 만약 sorted(dic.keys())라면 키값만 저장됨
# 출력 part
for val, key in dic:
num = (key/cnt)*100.0
if int(num) //2 ==0:
num = num + 0.0005
print(val, round(num, 4))
#소수점 넷째자리까지만 표현하고 싶다면, 파이썬 내장 함수인 round() 함수를 이용
# 반올림은 round함수를 이용해보자. round함수에 입력인자로 값이나 변수를 넣으면 소수점 첫째 자리에서 반올림 해 준다.
# 소수점 n번째 자리까지 반올림하고 싶다면, 두 번째 입력인자에 값을 넣으면 된다.
# 오류해결 !!!!!
#파이썬은 사사오입 원칙을 따른다. 반올림할 자리수가 5이면 앞자리 숫자가 짝수면 내림, 홀수면 올림이다.
# 4.5 의 경우는 결과 4 / 3.5의 경우 결과는 4 따라서 짝수인 경우 0.1을 더하여 round 함수를 사용해야 한다.
学識
最初はファイルを読み終えると思っていたので、pthonで1行ずつファイル全体を読む方法を検索して勉強しました.
#f = open("input.txt", "rt")
コメント
#小数点の4位のみを表す場合は、Python内蔵関数round()を使用します.
#Pythonは四捨五入の原則に従う.四捨五入の桁が5だと前列が偶数だと下がり、奇数だと上がります.
Reference
この問題について(DataStructure 2 04生態学(4385)), 我々は、より多くの情報をここで見つけました https://velog.io/@angel_eugnen/DataStucture204생태학4385テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol