我是python的新手。我正在尝试制作一个小型的计划程序。
代码:
import time
elavator = True
# 0 is B floor // basement
elavatorFloors = [0,1,2,3,4,5]
while elavator == True:
getLevel = input ("Which floor would you like to visit? ( 1 - 5) ")
time.sleep(2)
print "you're now at floor, " +int.getLevel
我收到此错误:AttributeError:type object'int'没有属性'getLevel' 除了将str更改为int之外,我是否使用了任何不良技术?我真的想改进我的编程思想和代码编写。谢谢:))
答案 0 :(得分:8)
int()
是一种类型,因此要实例化它,您需要执行int(getLevel)
,而不是int.getLevel
。
查看the docs以获取更多示例。
另请注意,getLevel
是变量的奇怪名称,因为它暗示它是一个给出级别的函数。更好的名称只是level
。
值得注意的是,input()
将输入评估为Python代码(在Python 2.x中,在3.x中,它在旧版本中用作raw_input()
),因此getLevel
已经是一个数字,虽然我建议使用raw_input()
代替,并保持从字符串到整数的转换,因为它不允许任意执行代码,这要好得多。
答案 1 :(得分:-2)
以下是修改后的示例代码:
import time
elevator = "false"
# 0 is B floor // basement
elavatorFloors = [0,1,2,3,4,5]
getLevel = input("Which floor would you like to visit? ( 1 - 5) ")
for x in elavatorFloors:
if x == getLevel:
time.sleep(getLevel)
print "you're now at floor, " + str(getLevel)
elevator = "true"
pass
else:
pass
if (elevator == "false"):
print "There is no floor: " + str(getLevel)