Python:raw_input读取数字的问题

时间:2011-04-23 07:34:20

标签: python raw-input

遗憾的是raw_input没有按照我的需要去做。我想要做的是获取totPrimes =我在提示符下键入的内容。如果我将while count < totPrimes替换为while count < 50,则此脚本有效。如果我在提示符下键入50,这个脚本不起作用,我担心raw_input不是我想要使用的函数吗?以下是我的代码片段:

testNum = 3
div = 2
count = 1
totPrimes = raw_input("Please enter the primes: ")

while count < totPrimes :
    while div <= testNum :

6 个答案:

答案 0 :(得分:12)

totPrimes = int(totPrimes)
while count < totPrimes:
    # code

raw_input为您提供了一个字符串,您必须在进行任何数字比较之前将其转换为整数或浮点数。

答案 1 :(得分:0)

你需要将totPrimes转换成这样的int:

integer = int(totPrimes)

答案 2 :(得分:0)

您只需要以整数转换原始输入。对于您的代码,只需将代码更改为:

testNum = 3
div = 2
count = 1
totPrimes = raw_input("Please enter the primes: ")
totPrimes=int(totPrimes)
while count < totPrimes :
    while div <= testNum :

答案 3 :(得分:0)

然后使用输入。

原始输入返回字符串。

输入返回int。

答案 4 :(得分:0)

raw_input函数总是返回'string'类型raw_input docs,所以在这种情况下我们必须将totPrimes'string'类型转换为'int'或'float'类型,如下所示:< / p>

totPrimes = raw_input("Please enter the primes: ")
totPrimes = float(totPrimes)

你可以像这样组合它们:

totPrimes = float(raw_input("Please enter the primes: "))

为了比较python count < totPrimes中的内容,比较需要有意义(数字到数字,字符串到字符串)或程序将崩溃,while count < totPrimes : while循环不会运行。

您可以使用try / except来保护您的程序。 managing exceptions

对于参加“为每个人编程”课程的人来说,你可以花费数小时并按照这种方式评分。你应该试着找出if / else语句。

答案 5 :(得分:0)

您必须将每个号码更改为&#34; hrs&#34;或者&#34;率&#34;。

例如:40*10.50+(h-40)*10.50*1.5错误,40*r+(h-40)*r*1.5是对的。