Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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 为什么我会犯错误;Can';t转换为';int';隐式地反对str”;_Python_String_Int_Concatenation - Fatal编程技术网

Python 为什么我会犯错误;Can';t转换为';int';隐式地反对str”;

Python 为什么我会犯错误;Can';t转换为';int';隐式地反对str”;,python,string,int,concatenation,Python,String,Int,Concatenation,这只是我的程序的一小部分,所以我只是一块一块地创建它。所以我现在要做的就是让我的程序在输入小于或等于10的情况下向ast1添加一个“*”,但我一直得到错误“不能隐式地将'int'对象转换为str”,我不完全确定原因。有人能扔我一根骨头来帮我吗 ast1 = "*" count = 0 while (True): n = int(input("Enter a number between 0 - 100:")) if n<=10: ast1 = ast1 +

这只是我的程序的一小部分,所以我只是一块一块地创建它。所以我现在要做的就是让我的程序在输入小于或等于10的情况下向ast1添加一个“*”,但我一直得到错误“不能隐式地将'int'对象转换为str”,我不完全确定原因。有人能扔我一根骨头来帮我吗

ast1 = "*"
count = 0

while (True):
    n = int(input("Enter a number between 0 - 100:"))
    if n<=10:
        ast1 = ast1 + 1 #This is where the error is occuring


print(ast1)
ast1=“*”
计数=0
虽然(正确):
n=int(输入(“输入一个介于0-100之间的数字:”)

如果n=0,n25和n50,n75和n,因为
ast1
变量包含
*
,它被定义为字符串,而1被定义为整数,所以字符串加整数连接是不可能的。无法对字符串变量和整数变量执行算术运算

我现在要做的是,如果输入小于或等于10,让我的程序在ast1中添加一个“*”

那么你应该这样做:

ast1 = ast1 + '*'
或者更简短地说:

ast1 += '*'
如果要使用数学运算符,可以使用乘法器:

# will set ast1 to '**'
ast1 = ast1 * 2
但是第二次你会做乘法,当然,你会有
'***'
。不确定这是否是你想要的

您可以直接将星号乘以-like
'*'*3
。它将返回此

ast1 = ast1 + 1 #This is where the error is occuring
应该是

ast1 = ast1 + str(1)

在Python中,数字需要显式类型转换为字符串,特别是在字符串操作中。

因此,如果我想在ast1中添加一个“*”,那么输入的ast1变量包含字符串
*
。将int
1
转换为类似于
ast1+str(1)
No的字符串,这不是我想要的,尽管你给了我更多的知识。我为我的家庭作业所做的是创建一个程序,该程序将接受0-100之间任何数字的输入,直到应用的输入是字符串“done”,然后从那里我将打印[0,25](25,50)(50,75)(75100)中每个数字的星号数量。但我喜欢以小部分完成我的家庭作业。
ast1 = ast1 + str(1)