1. Not finding help here? Sign up for a free 30min tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

What is wrong with my code?

  1. Nov 3, 2016 #1
    • Thread moved from a technical forum, so homework template is missing
    I am suppose to write a code that print put the url of a link given below. The url is defined to start where the first " appears and end where the last " url appears starting from the start_link. Its actually the last project from te lecture 1 in Udacity and the forst code of mine.. but its wring haha
    Here it goes:
    # Write Python code that assigns to the
    # variable url a string that is the value
    # of the first URL that appears in a link
    # tag in the string page.
    # Your code should print http://udacity.com
    # Make sure that if page were changed to

    # page = '<a href="http://udacity.com">Hello world</a>'

    # that your code still assigns the same value to the variable 'url',
    # and therefore still prints the same thing.

    # page = contents of a web page
    page =('<div id="top_bin"><div id="top_content" class="width960">'
    '<div class="udacity float-left"><a href="http://udacity.com">')

    start_link = page.find('<a href=')
    new_page=page[start_link:]
    num_ofstart=new_page.find(' " ')
    new_page1=new_page[(num_ofstart+1):]
    num_ofend=new_page1.find(' " ')
    url=new_page[(num_ofstart):(num_ofend)]
    print(url)
    It prints out only "http://ud [Broken]
    Whats wrong?
     
    Last edited by a moderator: May 8, 2017
  2. jcsd
  3. Nov 3, 2016 #2

    NascentOxygen

    User Avatar

    Staff: Mentor

    In between these two lines add code to print out the values of new_page, num_ofstart, and num_ofend to make sure that you and your code are operating in sync.
     
  4. Nov 3, 2016 #3

    Mark44

    Staff: Mentor

    In addition to what @NascentOxygen said, you have a problem with these two lines of code:
    Code (Python):
    num_ofstart=new_page.find(' " ')
    .
    .
    .
    num_ofend=new_page1.find(' " ')
    In each case, the character you should be searching for is ". What you are actually doing is searching for <space>"<space>. In other words, in the argument to the find() function, you have extra space characters before and after the double-quote. The string you're searching in doesn't contain a substring of <space>"<space>, so both calls to find() are returning -1.

    One more thing - when you post code, especially Python code, surround your code with code tags.
    What I did above looks like this:
    [code=python]
    num_ofstart=new_page.find(' " ')
    .
    .
    .
    num_ofend=new_page1.find(' " ')[/code]
     
  5. Nov 3, 2016 #4

    Mark44

    Staff: Mentor

Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?
Draft saved Draft deleted