Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #96205
| Path | csiph.com!goblin2!goblin.stu.neva.ru!newsfeed1.swip.net!uio.no!news.tele.dk!news.tele.dk!small.news.tele.dk!newsgate.cistron.nl!newsgate.news.xs4all.nl!nzpost1.xs4all.net!not-for-mail |
|---|---|
| Return-Path | <gary719_list1@verizon.net> |
| X-Original-To | python-list@python.org |
| Delivered-To | python-list@mail.python.org |
| X-Spam-Status | OK 0.000 |
| X-Spam-Evidence | '*H*': 1.00; '*S*': 0.00; 'else:': 0.03; 'value,': 0.03; 'subject:Python': 0.05; '"""': 0.05; 'installed.': 0.05; '-*-': 0.07; 'append': 0.07; 'utf-8': 0.07; '-1,': 0.09; 'coding:': 0.09; 'debugger': 0.09; 'ide': 0.09; 'inserted': 0.09; 'key)': 0.09; 'typeerror:': 0.09; 'python': 0.10; '2.7': 0.13; 'index': 0.13; 'def': 0.13; '"""gets': 0.16; '"""given': 0.16; "(it's": 0.16; '(key,': 0.16; 'bucket': 0.16; 'cause.': 0.16; 'creat': 0.16; 'default."""': 0.16; 'iterable': 0.16; 'key):': 0.16; 'range(0,': 0.16; 'received:206.46': 0.16; 'received:206.46.173': 0.16; 'running:': 0.16; 'set)': 0.16; 'subject:Learning': 0.16; 'surprising': 0.16; 'to:name:python list': 0.16; 'value))': 0.16; 'skip:" 30': 0.20; 'not,': 0.22; 'sep': 0.22; 'programming': 0.22; 'replacing': 0.23; 'import': 0.24; '(most': 0.24; 'skip:- 40': 0.25; 'header:User-Agent:1': 0.26; "doesn't": 0.26; 'appreciated.': 0.27; 'error': 0.27; 'found.': 0.27; 'function': 0.28; '(although': 0.29; '50,': 0.29; 'away.': 0.29; 'exists,': 0.29; 'index,': 0.29; 'key,': 0.29; 'lot.': 0.29; 'value)': 0.29; 'convert': 0.29; 'there.': 0.30; 'print': 0.30; 'code': 0.30; 'error.': 0.31; 'probably': 0.31; "can't": 0.32; 'statement': 0.32; 'though.': 0.33; 'traceback': 0.33; 'skip:- 10': 0.34; 'file': 0.34; 'execution': 0.35; 'follows:': 0.35; 'mapping': 0.35; 'replace': 0.35; 'returning': 0.35; 'set.': 0.35; 'but': 0.36; 'too': 0.36; 'there': 0.36; 'to:addr:python-list': 0.36; 'really': 0.37; 'seem': 0.37; 'goes': 0.39; 'does': 0.39; 'subject:the': 0.39; 'received:192': 0.39; 'to:addr:python.org': 0.40; 'where': 0.40; 'some': 0.40; 'header :MIME-version:1': 0.60; 'default': 0.61; 'skip:n 10': 0.62; 'received:206': 0.63; 'note:': 0.66; 'sincerely': 0.67; 'frustrating': 0.84; 'hanging': 0.84; 'skip:/ 30': 0.84; 'received:192.168.1.7': 0.91 |
| X-CMAE-Score | 0 |
| X-CMAE-Analysis | v=2.1 cv=MtGvkDue c=1 sm=1 tr=0 a=AstGAA2XJoPAehtj9MTdvA==:117 a=o1OHuDzbAAAA:8 a=oR5dmqMzAAAA:8 a=IkcTkHD0fZMA:10 a=ff-B7xzCdYMA:10 a=8Fpe7JOIn5WgEEyJHQIA:9 a=1tbd7E57IgntbskO:21 a=WxGOB8dmfnR0M0Pb:21 a=QEXdDO2ut3YA:10 |
| Date | Wed, 09 Sep 2015 10:27:03 -0700 |
| From | Gary Roach <gary719_list1@verizon.net> |
| User-Agent | Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.8.0 |
| MIME-version | 1.0 |
| To | Python List <python-list@python.org> |
| Subject | Lesson 39 of Learning Python the Hard Way hangs |
| Content-Type | text/plain; charset=utf-8; format=flowed |
| Content-transfer-encoding | 7bit |
| X-BeenThere | python-list@python.org |
| X-Mailman-Version | 2.1.20+ |
| Precedence | list |
| List-Id | General discussion list for the Python programming language <python-list.python.org> |
| List-Unsubscribe | <https://mail.python.org/mailman/options/python-list>, <mailto:python-list-request@python.org?subject=unsubscribe> |
| List-Archive | <http://mail.python.org/pipermail/python-list/> |
| List-Post | <mailto:python-list@python.org> |
| List-Help | <mailto:python-list-request@python.org?subject=help> |
| List-Subscribe | <https://mail.python.org/mailman/listinfo/python-list>, <mailto:python-list-request@python.org?subject=subscribe> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.280.1441823265.8327.python-list@python.org> (permalink) |
| Lines | 121 |
| NNTP-Posting-Host | 2001:888:2000:d::a6 |
| X-Trace | 1441823265 news.xs4all.nl 23810 [2001:888:2000:d::a6]:49479 |
| X-Complaints-To | abuse@xs4all.nl |
| Xref | csiph.com comp.lang.python:96205 |
Show key headers only | View raw
Hi all
I am new to python but not programming (Although rusty) and am using
Learning Python The Hard Way. I really like it.
System:
---------------
Debian 8 (jessie)
KDE Desktop
Python 2.7 (It's going to be a while before 2,7 goes away. There is just
too much code out there.
Ninja-IDE IDE - I like this a lot. I can't seem to find out how to put
breaks into the code though. The debugger plugin is installed.
--------------
For some reason lesson 39 is hanging and I can't find the cause. A print
statement inserted into the get_slot function just after bucket shows
that get_bucket is returning an []. It' not surprising that enumerate()
doesn't like this very much. I just can't find the cause.
The error message is as follows:
-------------------------------------------
Running: /root/mystuff/mystuff/ex39_test.py (Wed Sep 9 09:57:51 2015)
Traceback (most recent call last):
File "/root/mystuff/mystuff/ex39_test.py", line 6, in <module>
hashmap.set(states, 'Oregon', 'OR')
File "/root/mystuff/mystuff/hashmap.py", line 50, in set
i, k, v = get_slot(aMap, key)
TypeError: 'NoneType' object is not iterable
Execution Successful!
NOTE: Line 50 is the - i, k, v = get_slot(aMap, key)- of def set.
--------------------------------------------
The calling code is:
--------------------------------------------
# -*- coding: utf-8 -*-
import hashmap
# creat a mapping of stat to abbreviation
states = hashmap.new()
hashmap.set(states, 'Oregon', 'OR')
--------------------------------------------
The hashmap code is as follows:
--------------------------------------------
def new(num_buckets=256):
"""Initializes a Map with the given number of buckets."""
aMap = []
for i in range(0, num_buckets):
aMap.append([])
return aMap
def hash_key(aMap, key):
"""Given a key this will create a number and then convert it to
an index for the aMap's buckets."""
return hash(key) % len(aMap)
def get_bucket(aMap, key):
"""Given a key, find the bucket where it would go."""
bucket_id = hash_key(aMap, key)
return aMap[bucket_id]
def get_slot(aMap, key, default=None):
"""
Returns the index, key, and value of a slot found in a bucket.
Returns -1, key, and default (None if not set) when not found.
"""
bucket = get_bucket(aMap, key)
for i, kv in enumerate(bucket):
k, v = kv
if key == k:
return i, k, v
return -1, key, default
def get(aMap, key, default=None):
"""Gets the value in a bucket for the given key, or the default."""
i, k, v = get_slot(aMap, key, default=default)
return v
def set(aMap, key, value):
"""Sets the key to the value, replacing any existing value."""
bucket = get_bucket(aMap, key)
i, k, v = get_slot(aMap, key)
if i >= 0:
# the key exists, replace it
bucket[i] = (key, value)
else:
# the key does not, append to create it
bucket.append((key, value))
def delete(aMap, key):
"""Deletes the given key from the Map."""
bucket = get_bucket(aMap, key)
for i in xrange(len(bucket)):
k, v = bucket[i]
if key == k:
del bucket[i]
break
def list(aMap):
"""Prints out what's in the Map."""
for bucket in aMap:
if bucket:
for k, v in bucket:
print k, v
Very frustrating and probably a stupid error. Any help will be sincerely
appreciated.
Gary R.
Back to comp.lang.python | Previous | Next — Next in thread | Find similar | Unroll thread
Lesson 39 of Learning Python the Hard Way hangs Gary Roach <gary719_list1@verizon.net> - 2015-09-09 10:27 -0700
Re: Lesson 39 of Learning Python the Hard Way hangs John Gordon <gordon@panix.com> - 2015-09-09 20:45 +0000
Re: Lesson 39 of Learning Python the Hard Way hangs Denis McMahon <denismfmcmahon@gmail.com> - 2015-09-09 21:36 +0000
Re: Lesson 39 of Learning Python the Hard Way hangs (Fixed?) Gary Roach <gary719_list1@verizon.net> - 2015-09-09 16:58 -0700
Re: Lesson 39 of Learning Python the Hard Way hangs (Fixed?) Gary Roach <garyroach@verizon.net> - 2015-09-09 16:58 -0700
Re: Lesson 39 of Learning Python the Hard Way hangs (Fixed?) YBM <ybmess@nooos.fr.invalid> - 2015-09-10 03:42 -0300
Re: Lesson 39 of Learning Python the Hard Way hangs Gary Roach <garyroach@verizon.net> - 2015-09-09 14:53 -0700
csiph-web