基本用户输入和验证

时间:2018-04-04 21:12:30

标签: python-3.x

#Below is a welcome message to the user. 
print ("Welcome to Smiths Cleaners, offering the best dry-cleaning 
service around!\n")
#Statement to determine if the customers input name is valid
while True:
name=input("What is the customers name? ").lower()
if name.isalpha() or name.split():
    break
print ("invalid input")
print ("\nBelow is the price table for the services available for", name.capitalize() )

我正在尝试这样做,以便如果用户输入任何没有资本开头的东西,它将用资本更改名称的确认,但是我遇到的主要问题是如果用户输入了一个显示错误数字或字符(或:等)

1 个答案:

答案 0 :(得分:0)

正如评论中的其他人所建议的那样,如果您正确格式化代码,它将对您和我们都有所帮助。

while True:
    name = input("What is the customer's name? ").lower()
    if name.isalpha():
        break
    else:
        print("Invalid input")

现在,如果我理解您的问题,您想验证客户姓名的第一个字母是否大写?然后在验证之前调用lower确保所有字母都是小写的。

在此块中,您可以验证名称isalpha,然后检查字符串isupper的第一个字符。

while True:
    name = input("What is the customer's name? ")
    if name.isalpha() and name[0].isupper():
        break
    else:
        # Handle the invalid input (i.e. replace the first
        # character with valid input, ensure that the rest of 
        # subsequent letters are lowercased).
        print("Invalid input")