Chinese, Simplified subtitles

← cs101_unit2_29_qs_print-all-links

dummy description

Get Embed Code
9 Languages

Showing Revision 2 created 05/31/2012 by penghou.

  1. 我们已经修改了getnexttarget(寻找下一目标)过程
  2. 如果没有下一目标 程序就返回None(无) 这是第一个输出
  3. 否则 就返回URL(网址)和end_quote(结束引用)
  4. 现在我们要做的是让程序继续运行
  5. 先来看看我们之前所做的
  6. 我们将这4行代码变成了一个过程
  7. 所以 现在我们就不用再写一遍这些代码
  8. 而是可以直接调用getnexttarget
  9. 并赋值结果
  10. 我们已经有URL的值 并且想将其打印出来
  11. 现在我们仍然会将其打印出来
  12. 而且我们仍然想要更新页面的值
  13. 但我们不想使用end_quote了
  14. 我们想用的是这里返回的值
  15. 也就是我们赋给变量endpos(结束位置)的值
  16. 接下来 我们再来一遍
  17. 这里的所有代码就是再次调用getnexttarget
  18. 同样的 这里应该是endpos而不是end_quote
  19. 我们想一直继续到结束
  20. 但什么时候才是结束呢?
  21. 当返回的URL是none时
  22. 就是结束
  23. 当调用的getnexttarget返回none
  24. 我们就知道 程序结束了
  25. 让程序继续的一种方式就是while循环
  26. 我们知道如何做测试
  27. 我们想要测试URL
  28. 要打印页面上的所有链接 我们已经掌握了所需的全部知识
  29. 我会开个头 教你们如何写这个程序
  30. 之后你们就自己完成
  31. 我们将定义一个过程
  32. 打印出页面上的所有链接
  33. 输入为该页面 我们想用一个while循环来让程序持续运行
  34. 我将把while循环的测试条件留为空白
  35. 由你们去填
  36. 在while循环的主体语句中 我们将调用getnexttarget
  37. 将URL和endpos赋值给结果
  38. 这和我们之前示范的代码是一样的
  39. 现在我们要做的是 检查是否有一个有效URL
  40. 这就是这一块要做的事情
  41. 假设我们总是有一个有效URL
  42. 我们将其打印出来 程序继续运行
  43. 但是我们还需要测试 我们得到的URL是否是None
  44. 这就是我们将要做的
  45. 这里是if URL 如果为真 就意味着我们找到了一个有效URL
  46. 从getnexttarget得到的结果不是none
  47. 那么和之前一样 我们想将其打印出来
  48. 我们将打印这个URL 并继续搜索余下内容
  49. 直到下一个位置
  50. 如果我们没找到有效URL
  51. 这意味着getnexttarget没有找到链接
  52. 页面上没有更多链接了
  53. 那我们就要做点别的什么
  54. 我在这里也留一个空
  55. 这就是printalllinks(打印所有链接)所需要的全部代码
  56. 有两处空白是要你们去填的
  57. 看你们是否能想出while的测试条件
  58. 以及else的程序块
  59. 如果你们写对了 就可以打印出页面上的所有链接