Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # function: getLeadingDigit(num) --> splice 1st char off,
- # function: calcFreq(dataList) --> use counted()
- # function: calcStats() --> convert frequency / per number to percentage
- # --> write to calcDataList
- # function: printTable() --> write calcDataList: leading digit, frequency(%)
- import random
- dataList = []
- firstDigitList = []
- with open("data.txt", "r") as data:
- for line in data:
- dataList.append(int(line.strip("\n")))
- def getLeadingDigit(num):
- return int(str(num)[0])
- def leadingDigitList(dataList):
- firstDigitList = []
- for item in dataList:
- firstDigitList.append(getLeadingDigit(item))
- return firstDigitList
- def calcFreq(firstDigitList):
- for item in range(1, 10):
- print(item, firstDigitList.count(item))
- # print(calcFreq(leadingDigitList(dataList)))
- def calcStats(firstDigitList):
- percentageFreq = 0
- sum = 0
- percentageList = []
- for item in range(1, 10):
- sum += firstDigitList.count(item)
- print("The total sum is:", sum)
- #sum = sum(firstDigitList.count(item))
- for item in range(1, 10):
- percentageFreq = (((firstDigitList.count(item)) / sum) * 100)
- print(item, str(percentageFreq) + "%")
- percentageList.append(int(round(percentageFreq)))
- #print(percentageList)
- return percentageList
- #print("\n")
- #print("Percentage frequency values list, rounded to the nearest whole number, is:", calcStats(leadingDigitList(dataList)))
- def printTable():
- print("The frequency of 1-9 values in data.txt is:")
- print(calcFreq(leadingDigitList(dataList)), "\n")
- print("List of frequence percentage (1-9), rounded to the nearest whole number, is:", calcStats(leadingDigitList(dataList)))
- def main():
- print("This is output from main:")
- printTable()
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement