Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python ValueError:基为10:str的int()的文本无效_Python_String_Integer - Fatal编程技术网

Python ValueError:基为10:str的int()的文本无效

Python ValueError:基为10:str的int()的文本无效,python,string,integer,Python,String,Integer,可能我的编码不太好,有些行没有多大意义,或者没有必要,但代码的用途非常简单: 我想创建一个使用输入(字符串)的函数,并将其转换为整数,这将用于数学问题。 另外:我希望我的代码解释一个随机生成的数字,并将其打印为等效的字符串: ### 'one' --> 1 ### 'zero' --> 0 import random ##'one' == 1 ##'zero' == 0 def name_to_number(name): if name == 'one':

可能我的编码不太好,有些行没有多大意义,或者没有必要,但代码的用途非常简单:

我想创建一个使用输入(字符串)的函数,并将其转换为整数,这将用于数学问题。 另外:我希望我的代码解释一个随机生成的数字,并将其打印为等效的字符串:

### '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'

非常感谢您的帮助。

下面的代码对我来说很好。我所要做的就是将
返回“计算机绘图”+comp\u编号
返回“计算机绘图”+str(comp\u编号)
以及
随机.randrange(0,1)
更改为
随机.randrange(0,2)


第一个问题是,您似乎正在使用
one
作为输入,因此
int('one')
将给出该错误

第二,在:

comp_number = random.randrange(0,1)
...
if equation == 0:
    print('Hallo!')
    return 'Computer draws' + comp_number
else:
    return 'Computer draws 0'
将始终调用
else
子句,因为
comp\u number
始终为0

类似于
选择(范围(开始、停止、步骤))
,这意味着
随机范围(0,1)
将始终返回0。如果您想要
0
1
,则需要
randrange(0,2)
。或者改为使用,它将包括端点
0
1


作为附加值,将文本号处理为数字,您可能需要考虑编写。

<代码>名称<代码>未定义在LITYFURNYNUM 中,但您使用它在代码> int(name)< /代码>中。你的意思是
int(猜测)
吗?是的,你是对的。。。我刚修好it@GaryJ.EspitiaS. 在我看来,如果您的输入是
one
,您似乎想调用
name\u to\u number(name)
,而不是
int(name)
。您看到错误的原因是因为您的输入是
one
,因此
int('one')
将给您该错误。我明白了,这实际上修复了它。。。但现在我有了疑问。。。似乎它总是抛出
else
条件...@GaryJ.EspitiaS。我在下面的答案中发布了解释。感谢您的回复,我觉得不知道此类函数的详细信息有点傻。@GaryJ.EspitiaS。不客气!当我还在学习的时候,它肯定也咬了我——我就是这样知道的:)
comp_number = random.randrange(0,1)
...
if equation == 0:
    print('Hallo!')
    return 'Computer draws' + comp_number
else:
    return 'Computer draws 0'