怎么说如果名字!= str:打印(“那不是一个名字”)python 3

时间:2016-11-13 19:33:38

标签: python python-3.x

我是python的新手,但我只是测试了它并且它不起作用。

我想要的是用户输入他们的名字,如果是字符串,它将打印(“Hello”+名称),如果它不是字符串,它将打印(“那不是名字”)

这是我的代码:

name = str(input("What is your name? "))
if name != str:
    input("Thats not your name! Please retype your name ")
else: 
    print("Hello " + name)

input("Press any button to close")

2 个答案:

答案 0 :(得分:1)

您可以在python中使用isalpha function来检查输入是否只包含字母。

这应该有效:

name = input("What is your name? ") # REMOVED REDUNDANT EXPLICIT TYPE CAST

if name.isalpha(): # CHECK IF IT ONLY CONTAINS LETTERS
    print("Hello " + name)
else:
    name = input("Thats not your name! Please retype your name ") # NOT REQUIRED, BUT SINCE QUESTION WAS TO RE-ENTER

input("Press any button to close")

希望这会有所帮助。

答案 1 :(得分:0)

您看到的第一个打印声明会提示用户“您的名字是什么?” 在代码的第二行,然后从用户获取原始输入并将其存储在名为“name”的变量中。在if语句中,我们有一个函数“.isalpha()”,它检查'name'是否是字母。如果是,那么它返回True,所以第一个print语句被打印,如果它不是字母,则返回False,因此打印了else之后的print语句。

print("What is your name?") 
name = input() 

if name.isalpha(): #
  print("Hello " + name)
else:
  print("Thats not your name! Please retype your name ")