简体   繁体   中英

using a while True loop

Problem 1.

This problem provides practice using a while True loop. Write a function named twoWords that gets and returns two words from a user. The first word is of a specified length, and the second word begins with a specified letter.

The function twoWords takes two parameters:

  1. an integer, length , that is the length of the first word and
  2. a character, firstLetter , that is the first letter of the second word.

The second word may begin with either an upper or lower case instance of firstLetter . The function twoWords should return the two words in a list. Use a while True loop and a break statement in the implementation of twoWords . The following is an example of the execution of twoWords : print(twoWords(4, 'B')) :

A 4-letter word please two
A 4-letter word please one
A 4-letter word please four
A word beginning with B please apple
A word beginning with B please pear
A word beginning with B please banana
['four', 'banana']

This is what I have so far, but it keeps asking me the first question over again even if I have the right word length. What am I doing wrong?

def twoWords(length, firstLetter):
    wordLen = input('A 4-letter word please ')
    while len(wordLen) != int(length):
        wordlen = input('A 4-letter word please ')
    word = input('A word beginning with ' + firstLetter + ' please ')
    while word[0] != firstLetter:
        word = input('A word beginning with ' + firstLetter + ' please ')
    return[wordLen, word]
def twoWords(length,firstLetter):

    firstWord = "" 
    secondWord= ""

    while True:

        firstWord = input('A ' + str(length) + '-letter word please.')
        if length == len(firstWord):
            break
    while True:
        secondWord = input('A word beginning with ' + firstLetter+ ' please')
        if secondWord[0] == firstLetter.upper() or secondWord[0] == firstLetter.lower():
            break
    return [firstWord,secondWord]

print(twoWords(4,'B'))
def twoWord(length, firstLetter):
    while True:
       word1=(input("Enter a "+ str(length)+"-letter word please:"))
     
       if len(word1)==int(length):
           break
    while True:
       word2=input("Please enter the word beginning with "+firstLetter+" please:")
       if  word2[0].upper()==firstLetter or word2[0].lower()==firstLetter:
           break
    return word1, word2

print(twoWord(5, 'b'))

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM