On Wed, Mar 23, 2011 at 9:55 AM, Lezlie Kline <lezlie.kl...@gmail.com>wrote:
> Tony, > > For your question "What's the checksum for a completely empty message > (i.e., no characters at all)?" Do you mean the value or how do I write it? > I would think the value would be 0. > Correct. Now think of that as your starting point; any message containing characters is going to start at 0 plus the sum of the ASCII values of each of its characters. Where would you store the initial value of an empty message? > My understanding of where I'm storing the ASCII values for each letter is > ord(message[i]) > ord isn't a variable, it's a function. It's calculating the ASCII value of the i-th character of "message". > I don't think it's been initialized properly, but that's where I don't > understand about the accumulator for strings. I originally thought this for > the accumulator: > > output="" > for i in range(len(message[i])" > > print"The value of message[i] is ", message[i] > output=output+" " + ord(message[i]) > > print"The value of the message is ", output > > but strings and integers don't concatentate AND my ord(value) isn't > accumulating AND I thing my output is getting overwritten. > You don't want to mix apples and oranges. Your variable "message" contains a full name in the test case, "John X. Doe", for example, so it's made up of characters. What should the accumulator contain, if you're going to be adding numbers? > Here's part of the problem. The person "teaching" me Python provides some > information and then jumps to the programs so I'm struggling in the fuzzy > dark. I was given the range "for i in range(len(message[i]):print"The value > of message[i] is ", message[i]" and I understand that it obtains the length > of my message, but I don't really understand the [i] part other than [i] > represents integer and the "i" in for i is the iteration of the loop so when > you ask the question "message[i] will provide you the character at position > i. What are you doing with it?" I'm not sure what you're asking? > > I'm sorry to be so dense. Believe it or not I've been working on this > program for a week.... > > L. Is this homework? Tony R. > On Wed, Mar 23, 2011 at 9:30 AM, taserian <taser...@gmail.com> wrote: > >> On Wed, Mar 23, 2011 at 9:09 AM, Lezlie Kline <lezlie.kl...@gmail.com>wrote: >> >>> Hi, >>> >>> I'm trying to work out the bugs in a program for calculating the checksum >>> (modulo 256) of an input string. I'm testing it with my full name and I'm a >>> beginner with Python. Here's what I have so far. >>> >>> def main(): >>> print"This program creates a checksum for a message." >>> name=raw_input("Please enter the message to encode: ") >>> message=name >>> output=name >>> for i in range(len(message)): >>> print"The value of message[i] is ", message[i] >>> output=output+name+ord(message[i]) >>> print"The value of the message is ", output >>> checksum=(output)%256 >>> print"The checksum is ", checksum >>> >>> main() >>> >> I'd like to give you some pointers so you can solve it yourself: >> >> What's the checksum for a completely empty message (i.e., no characters at >> all)? >> Where are you storing the (ASCII) values of each letter? Has it been >> initialized properly? >> >> >>> I know I'm offbase somewhere, but I'm not understanding some parts of the >>> accumulator part of the program. I need it to work with the message[i] >>> intact. In other words, I need the pseudo code to go something like this: >>> >>> print message >>> get input >>> find length >>> using length in range function accumulate ASCII numbers >>> calculate checksum >>> print checksum >>> >>> I'd appreciate any help offered as I'm "pulling out my hair." >> >> >> message[i] will provide you the character at position i. What are you >> doing with it? >> >> Tony R. >> > >
_______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor