当用户不输入任何内容时,它应该返回并再次询问该问题。它可以与其他所有类型的输入一起正常工作。
代码如下:
string = ""
def str_analysis(string):
while True:
if string.isdigit():
if int(string) > 99:
print(str(string)+ " is a pretty big number!")
break
else:
print(str(string)+ " is a smaller number than expected")
break
elif string.isalpha():
print(string + " is an alphabetical character")
break
elif string == "":
print("")
else:
print(string + " is a surprise! It's neither all alpha nor all digit characters!")
break
print(str_analysis(input("Enter word or integer: ")))
答案 0 :(得分:0)
这是因为当string
为空时,您只是打印了一个空白的""
elif string == "":
print("")
# break it here or take input again
# break or string = input()
答案 1 :(得分:0)
您的代码中有些东西没有意义。
1:
print(str_analysis(input(“输入单词或整数:”)))
您正在尝试打印没有返回值的函数的输出
2: 它无法循环返回并再次询问问题,因为输入未在函数内部进行。
3: 如果字符串为空,则不会破坏代码,但会不断打印换行符。
以下是我认为应该执行您想要的代码:
def str_analasys():
while True:
string = input("Enter word or integer: ")
if string == '':
continue
elif string.isdigit():
if int(string) > 99:
print(str(string)+ " is a pretty big number!")
else:
print(str(string)+ " is a smaller number than expected")
elif string.isalpha():
print(string + " is an alphabetical character")
else:
print(string + " is a surprise! It's neither all alpha nor all digit characters!")
break
str_analasys()