📖 Scenario: You are learning about two popular cryptocurrencies: Ethereum and Bitcoin. Each has unique features and differences. You want to organize their key differences in a Python dictionary to compare them easily.
🎯 Goal: Create a Python program that stores Ethereum and Bitcoin differences in a dictionary, filters the differences based on importance, and prints the filtered results.
📋 What You'll Learn
Create a dictionary called crypto_diff with exact keys and values for Ethereum and Bitcoin differences
Create a variable called importance_threshold with the value 3
Use a dictionary comprehension to create a new dictionary called important_diff that includes only differences with importance greater than or equal to importance_threshold
Print the important_diff dictionary
💡 Why This Matters
🌍 Real World
Organizing and comparing features of cryptocurrencies helps investors and developers understand their strengths and weaknesses.
💼 Career
Data filtering and dictionary comprehension are common tasks in data analysis and software development roles.
Progress0 / 4 steps
1
Create the differences dictionary
Create a dictionary called crypto_diff with these exact entries: 'Ethereum': {'Smart Contracts': 5, 'Consensus': 4, 'Supply Limit': 2} and 'Bitcoin': {'Smart Contracts': 1, 'Consensus': 5, 'Supply Limit': 5}
Blockchain / Solidity
Hint
Use a dictionary with keys 'Ethereum' and 'Bitcoin'. Each key maps to another dictionary with the exact keys and values.
2
Set the importance threshold
Create a variable called importance_threshold and set it to 3
Blockchain / Solidity
Hint
Just assign the number 3 to the variable named importance_threshold.
3
Filter important differences
Use a dictionary comprehension to create a new dictionary called important_diff that includes only the differences with importance greater than or equal to importance_threshold. Iterate over crypto_diff.items() and filter inner dictionary items accordingly.
Blockchain / Solidity
Hint
Use nested dictionary comprehension: outer for coin, diffs in crypto_diff.items(), inner for key, val in diffs.items() with condition val >= importance_threshold.
4
Print the filtered differences
Write print(important_diff) to display the filtered dictionary of important differences.
Blockchain / Solidity
Hint
Use the print function to show the important_diff dictionary.
Practice
(1/5)
1. Which of the following best describes the primary purpose of Bitcoin compared to Ethereum?
easy
A. Bitcoin is mainly digital cash, while Ethereum supports programmable contracts.
B. Bitcoin is used for smart contracts, Ethereum is only for money transfer.
C. Bitcoin and Ethereum have the same purpose and features.
D. Ethereum is only a digital currency, Bitcoin is a platform for apps.
Solution
Step 1: Understand Bitcoin's main use
Bitcoin is designed primarily as digital money for simple transfers.
Step 2: Understand Ethereum's main use
Ethereum allows programmable smart contracts and decentralized apps beyond just money.
Final Answer:
Bitcoin is mainly digital cash, while Ethereum supports programmable contracts. -> Option A
Quick Check:
Bitcoin = digital cash, Ethereum = programmable blockchain [OK]
Hint: Bitcoin = money; Ethereum = apps and contracts [OK]
Common Mistakes:
Confusing Ethereum as only digital money
Thinking Bitcoin supports smart contracts
Believing both have identical features
2. Which syntax correctly describes Ethereum's smart contract language?
easy
A. Ethereum smart contracts are written in Python.
B. Ethereum smart contracts are written in Solidity.
C. Ethereum smart contracts use SQL queries.
D. Ethereum smart contracts are written in HTML.
Solution
Step 1: Identify Ethereum's contract language
Ethereum smart contracts are mainly written in Solidity, a language designed for this purpose.
Step 2: Eliminate incorrect languages
Python, SQL, and HTML are not used for Ethereum smart contracts.
Final Answer:
Ethereum smart contracts are written in Solidity. -> Option B
Quick Check:
Solidity = Ethereum contract language [OK]
Hint: Solidity is Ethereum's contract language [OK]
Common Mistakes:
Confusing Solidity with Python
Thinking SQL or HTML are contract languages
Assuming Bitcoin uses Solidity
3. What will be the output of this code snippet describing Bitcoin and Ethereum usage?
bitcoin_use = 'money transfer'
ethereum_use = 'smart contracts'
print(f'Bitcoin is for {bitcoin_use}, Ethereum is for {ethereum_use}.')
medium
A. Bitcoin is for mining, Ethereum is for trading.
B. Bitcoin is for smart contracts, Ethereum is for money transfer.
C. Bitcoin is for money transfer, Ethereum is for smart contracts.
D. Bitcoin and Ethereum have no specific uses.
Solution
Step 1: Read variable assignments
bitcoin_use is set to 'money transfer', ethereum_use is set to 'smart contracts'.
Step 2: Understand the print statement
The print outputs the string with these variables inserted in the correct places.
Final Answer:
Bitcoin is for money transfer, Ethereum is for smart contracts. -> Option C
Quick Check:
Variables match output text [OK]
Hint: Match variables to output placeholders [OK]
Common Mistakes:
Swapping bitcoin_use and ethereum_use values
Misreading the print format
Ignoring variable values
4. Find the error in this statement about Bitcoin and Ethereum:
"Bitcoin supports complex smart contracts, Ethereum only supports simple transactions."
medium
A. Bitcoin does not support complex smart contracts; Ethereum does.
B. Ethereum does not support any transactions.
C. The statement is correct as is.
D. Bitcoin and Ethereum both only support simple transactions.
Solution
Step 1: Analyze Bitcoin's capabilities
Bitcoin mainly supports simple transactions, not complex smart contracts.
Step 2: Analyze Ethereum's capabilities
Ethereum supports complex smart contracts and decentralized applications.
Final Answer:
Bitcoin does not support complex smart contracts; Ethereum does. -> Option A