【发布时间】:2012-10-21 01:57:49
【问题描述】:
可能我的编码不太好,有些行没有多大意义或没有必要,但代码目的非常简单:
我想创建一个使用输入(字符串)的函数,并将其转换为整数,这将用于数学问题。 另外:我希望我的代码解释一个随机生成的数字并将其打印为等效的字符串:
### 'one' --> 1
### 'zero' --> 0
import random
##'one' == 1
##'zero' == 0
def name_to_number(name):
if name == 'one':
return 1
def number_to_name(comp_number):
if comp_number == 1:
return 'one'
def lit_for_num(name):
'''(str) -> str'''
comp_number = random.randrange(0,1)
equation = (abs(comp_number - int(name)))
if equation == 0:
print('Hallo!')
return 'Computer draws' + comp_number
else:
return 'Computer draws 0'
非常感谢任何帮助。
【问题讨论】:
-
name未在lit_for_num中定义,但您在int(name)中使用它。你的意思是int(guess)吗? -
是的,你是对的……我刚刚修好了
-
@GaryJ.EspitiaS。在我看来,如果您的输入是
one,您想调用name_to_number(name)而不是int(name)。您看到错误的原因是因为您的输入是one,因此int('one')会给您该错误。 -
我明白了,这实际上修复了它......但现在我有一个查询......它似乎总是抛出
else条件...... -
@GaryJ.EspitiaS。我在下面的答案中发布了解释。