Exercise 6 - Watch List - Solution
energyEfficientCryptos = [ "SolarCoin", "Chia", "Cardano", "Stellar", "Harmony" ] exchangeRates = [ ("Bitcoin", 65460.31), ("Ethereum", 5272.41), ("Cardano", 1.87), ("Stellar", 0.38), ("Dogecoin", 0.24), ("Ripple", 1.19), ("Harmony", 0.34) ] BEGIN checkEnergyEfficiency(cryptocurrency) match = False FOR count = 0 to LENGTH(energyEfficientCryptos) IF cryptocurrency == energyEfficientCryptos[count] THEN match = True BREAK #optional, improves efficiency ENDIF NEXT count ENDFOR IF match THEN OUTPUT "energy efficient" RETURN True ELSE OUTPUT "not energy efficient" RETURN False ENDIF END BEGIN measureCost(cryptocurrency, exchangeRate) IF exchangeRate <= 1.50 THEN OUTPUT "cost effective" RETURN True ELSE OUTPUT "too expensive" RETURN False ENDIF END BEGIN FOR count = 0 to LENGTH(exchangeRates) crypto = exchangeRates[count] cost = exchangeRates[count] OUTPUT "Checking", crypto costEffective = measureCost(crypto, cost) energyEfficient = checkEnergyEfficiency(crypto) IF costEffective AND energyEfficient THEN OUTPUT "purchase" ELSE OUTPUT "do not purchase" ENDIF NEXT count ENDFOR END
energyEfficientCryptos = [ "SolarCoin", "Chia", "Cardano", "Stellar", "Harmony" ] exchangeRates = [ ("Bitcoin", 65460.31), ("Ethereum", 5272.41), ("Cardano", 1.87), ("Stellar", 0.38), ("Dogecoin", 0.24), ("Ripple", 1.19), ("Harmony", 0.34) ] def checkEnergyEfficiency(cryptocurrency): if cryptocurrency in energyEfficientCryptos: print(" - energy efficient") return True else: print(" - not energy efficient") return False def measureCost(cryptocurrency, exchangeRate): if exchangeRate <= 1.50: print(" - cost effective") return True else: print(" - too expensive") return False #MAIN ALGORITHM: for (crypto, cost) in exchangeRates: print("Checking", crypto) costEffective = measureCost(crypto, cost) energyEfficient = checkEnergyEfficiency(crypto) if costEffective and energyEfficient: print(" - purchase") else: print(" - do not purchase")