我是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")
答案 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 ")