NFT Collection Statistics - codepath/compsci_guides GitHub Wiki
Unit 4 Session 1 Standard (Click for link to problem statements)
U-nderstand
Understand what the interviewer is asking for by using test cases and questions about the problem.
-
Q: What is the structure of the input?
- A: The input is a list of dictionaries, where each dictionary represents an NFT and contains keys such as "name", "creator", and "value".
-
Q: What is the output?
- A: The output is the average value of the NFTs in the collection, or
0
if the collection is empty.
- A: The output is the average value of the NFTs in the collection, or
-
Q: How should the function handle an empty collection?
- A: The function should return
0
if the input list is empty.
- A: The function should return
-
Q: Are there any constraints on the input, such as the presence of the "value" key in each dictionary?
- A: It is assumed that each dictionary in the list will have a "value" key with a corresponding numeric value.
P-lan
Plan the solution with appropriate visualizations and pseudocode.
General Idea: Calculate the sum of the values of all NFTs in the collection and divide by the number of NFTs to find the average. If the collection is empty, return 0
.
1) Check if the collection is empty. If it is, return `0`.
2) Initialize a variable `total_value` to `0` to store the sum of the NFT values.
3) Iterate through each NFT in the collection:
a) Add the value of the NFT to `total_value`.
4) Calculate the average value by dividing `total_value` by the number of NFTs in the collection.
5) Return the average value.
**⚠️ Common Mistakes**
- Forgetting to check if the collection is empty before performing calculations.
- Miscalculating the average by using incorrect numerator or denominator.
I-mplement
def average_nft_value(nft_collection):
if not nft_collection:
return 0
total_value = 0
for nft in nft_collection:
total_value += nft["value"]
average_value = total_value / len(nft_collection)
return average_value