1

我是 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' has no attribute 'getLevel' 除了将 str 更改为 int,我是否使用了任何不好的技术?我真的很想提高我的编程思维和代码编写能力。谢谢 :)

4

2 回答 2

8

int()是一种类型,所以要实例化它,你需要做int(getLevel),而不是int.getLevel.

检查文档以获取示例等。

另请注意,这getLevel是一个奇怪的变量名称,因为它暗示它是一个给出级别的函数。一个更好的名字将是 just level

还值得注意的是,input()将输入评估为 Python 代码(在 Python 2.x 中,在 3.x 中它的作用与raw_input()旧版本中的一样),所以getLevel已经是一个数字,尽管我建议使用它raw_input(),并保持你的转换从一个字符串到一个整数,因为它不允许任意执行代码,这要好得多。

于 2012-12-07T17:41:05.847 回答
-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)
于 2012-12-07T19:12:32.387 回答