While True语句和Pyg拉丁语

2024-05-15 21:48:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我为pyg拉丁语(取自Codeacademy)编写了非常混乱(抱歉)的代码。你知道吗

它工作正常,除了我想添加一个而真。。。语句,这样如果用户输入一个数字或一个空白字段,输入框就会重新出现,直到满足条件为止

pyg='gy'
original=raw_input("please enter a word")
original_lc=original.lower()
first=original_lc[0]
rest=original_lc[1:len(original_lc)]

while True:
    if len(original) >0 and original.isalpha():
            print "Your word: " + original_lc
            if first in "aeiou":
                print "your pyglatin translation: " + original_lc + pyg
            else:
                print "your pyglatin translation: " + rest + first + pyg
                break


    else:
        print "You entered a blank field or a number. Please try again."
        break

我知道这是不正确的。有什么建议吗?你知道吗


Tags: restyourleniftranslationelsewordfirst
2条回答

您可以将循环放在开头,以便在第一个输入不正确时要求用户输入新的输入:

pyg='gy'
original=raw_input("please enter a word")

# keep asking for an input until the user inputs something valid
while len(original) == 0 or not original.isalpha():
    print "You entered a blank field or a number. Please try again."
    original=raw_input("please enter a word")

# at this point, the input should be valid
original_lc=original.lower()
first=original_lc[0]
rest=original_lc[1:len(original_lc)]


print "Your word: " + original_lc
if first in "aeiou":
    print "your pyglatin translation: " + original_lc + pyg
else:
    print "your pyglatin translation: " + rest + first + pyg

raw_input的调用应该在循环中。你知道吗

while True:

    pyg='gy'
    original=raw_input("please enter a word")
    original_lc=original.lower()
    first=original_lc[0]
    rest=original_lc[1:len(original_lc)]

    if len(original) >0 and original.isalpha():
            print "Your word: " + original_lc
            if first in "aeiou":
                print "your pyglatin translation: " + original_lc + pyg
            else:
                print "your pyglatin translation: " + rest + first + pyg
                break


    else:
        print "You entered a blank field or a number. Please try again."
        break

相关问题 更多 >