On 03/20/2013 03:57 PM, travis jeanfrancois wrote:
Hello, I am a beginning python student and I am having trouble with a
program I am writing  . The problem requires me to use "while" and that I
create a function that allows the user to a create sentence by  inputing  a
string and to end the sentence with a  period meaning inputing "." .The
problem is while keeps overwriting the previuos input and it still asks for
a string even after it prints out  .

Here is the output I am getting


Enter the first word in your sentence: I
Enter the next word in your sentence: am
Enter the next word in your sentence: a
Enter the next word in your sentence: novice
Enter the next word in your sentence: .
    I . .
Enter the next word in your sentence:


Here is the desired output:
                                                               :
Enter the first word in your sentence: I
Enter the next word in your sentence: am
Enter the next word in your sentence: a
Enter the next word in your sentence: novice
Enter the next word in your sentence: .
I am a novice.

Here is my code:





def B1():
  #Creates a function called B1
  period = "."
  # The variable period is assigned
  first = input("Enter the first word in your sentence ")
  #The variable first is assigned
  next1 = input("Enter the next word in you sentence or enter period:")
  #The variable next 1 is assigned

  # I need store the value so when while overwrites next1 with the next
input the previous input is stored and will print output when I call it
later along with last one
  # I believe the solution is some how implenting this expression x = x+
variable

You need a new variable that accumulates the whole sentence. I'd use a list, but many people would use a string. Since I don't know what concepts you know yet, I'll stick to string here. Anyway, you have to initialize it before the loop, and then you can print it after the loop.

sentence = ""


  while  next1 != (period) :

     next1  = input("Enter the next word in you sentence or enter period:")

At this point, add the word to the sentence.

     if next1 == (period):
         next1 = next1 + period
         print ("Your sentence is:",first,next1,period)

No need for these three lines inside the loop, since the loop will end when next1 is equal to the period. So put the print after the end of the loop, and I'll let you figure out what it should print.


PS : The" #"  is I just type so I can understand what each line does



--
DaveA
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to