在Python中将str更改为int

时间:2012-12-07 17:38:45

标签: python

我是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之外,我是否使用了任何不良技术?我真的想改进我的编程思想和代码编写。谢谢:))

2 个答案:

答案 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)