【发布时间】:2017-10-28 03:25:02
【问题描述】:
我正在使用 Python 进行计算机科学导论的最后一章。有人可以告诉我我的代码有什么问题吗?结果只是BLANK。
#Write a function called "input_type" that gets user input and
#determines what kind of string the user entered.
# - Your function should return "integer" if the string only
# contains characters 0-9.
# - Your function should return "float" if the string only
# contains the numbers 0-9 and at most one period.
# - You should return "boolean" if the user enters "True" or
# "False".
# - Otherwise, you should return "string".
#Remember, start the input_type() function by getting the user's
#input using the input() function. The call to input() should be
#*inside the* input_type() function.
def input_type(userInput):
digitTable = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
test1 = userInput.find(digitTable)
if userInput == "True" or userInput == "False":
return "boolean"
elif test1 == -1: # No digits
return "string"
elif userInput == "True" or userInput == "False":
return "boolean"
else: # Contains digits
test2 = userInput.find(".") # find decimal
if test2 == -1: # No decimals means it is an integer
return "integer"
else: # Yes if float
return "float"
userInput = input()
print(input_type(userInput))
【问题讨论】:
-
你没有使用用户输入的内容,你总是传入“0.23”。
input_type()要么返回一个字符串,要么返回None,因此print()将在调用时打印出多于空白的内容。如果你得到空白,你似乎没有在执行这个程序,因此在你的程序顶部添加一个临时的print("running ...."),以确保事情被调用/启动