在编程的学习中绝对没有什么可以替代练习。我写的再好也不可能使你成为一个程序员。

    带着这样的意识,让我们试着练习一下我们在本章学到的一些概念。我将给出“需求”,而你首先试着实现它。然后参考下面的代码清单来看看我是怎么处理它的。

    • 写一个程序来计算你购买手机的总价。你将不停地购买手机直到你的银行账户上的钱都用光(提示:循环!)。你还将为每个手机购买配件,只要你的花费低于你心理预算。
    • 在你计算完购买总价之后,加入税费,然后用合适的格式打印出计算好的购买总价。
    • 最后,将总价与你银行账户上的余额作比较,来看看那你是否买的起。
    • 你应当为“税率”,“手机价格”,“配件价格”和“花费预算”设置一些常数,也为你的“银行账户余额”设置一个变量。
    • 你应当为税费的计算和价格的格式化 —— 使用一个“$”并四舍五入到小数点后两位 —— 定义函数。
    • 加分挑战: 试着在这个程序中利用输入,也许是使用在前面的“输入”中讲过的prompt(..)。比如,你可能会提示用户输入它们的银行账户余额。发挥创造力好好玩儿吧!

    好的,去吧。试试看。在你自己实践过之前不要偷看我的代码清单!

    注意: 因为这是一本JavaScript书,很明显我将使用JavaScript解决这个联系。但是目前你可使用其他的语言,如果你感觉更适应的话。

    对于这个练习,这是我的JavaScript解决方案:

    1. const SPENDING_THRESHOLD = 200;
    2. const TAX_RATE = 0.08;
    3. const PHONE_PRICE = 99.99;
    4. const ACCESSORY_PRICE = 9.99;
    5. var bank_balance = 303.91;
    6. var amount = 0;
    7. function calculateTax(amount) {
    8. return amount * TAX_RATE;
    9. }
    10. function formatAmount(amount) {
    11. return "$" + amount.toFixed( 2 );
    12. }
    13. // 只要你还有钱就不停地买手机
    14. while (amount < bank_balance) {
    15. // 买个新手机
    16. amount = amount + PHONE_PRICE;
    17. // 还买得起配件吗?
    18. if (amount < SPENDING_THRESHOLD) {
    19. amount = amount + ACCESSORY_PRICE;
    20. }
    21. }
    22. // 也别忘了给政府交钱
    23. amount = amount + calculateTax( amount );
    24. console.log(
    25. "Your purchase: " + formatAmount( amount )
    26. );
    27. // Your purchase: $334.76
    28. // 你买的起吗?
    29. if (amount > bank_balance) {
    30. console.log(
    31. "You can't afford this purchase. :("
    32. );
    33. }
    34. // 你买不起 :(

    注意: 运行这个JavaScript程序的最简单的方法是将它键入到你手边的浏览器的开发者控制台中。

    你做的怎么样?看了我的代码之后,现在再试一次也没什么不好。而且你可以改变某些常数来看看使用不同的值时这个程序运行的如何。