这只是我的计划的一小部分,所以我只是一块一块地创建它。所以我现在要做的就是让我的程序添加一个" *"如果输入小于或等于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)
编辑代码:当用户输入&#34;完成&#34;?
时,如何让该程序终止/中断?ast1 = ""
ast2 = ""
ast3 = ""
ast4 = ""
while (True):
n = int(input("Enter a number between 0 - 100:"))
if n>=0 and n<=25:
ast1 = ast1 + "*"
elif n>25 and n<=50:
ast2 = ast2 + "*"
elif n>50 and n<=75:
ast3 = ast3 + "*"
elif n>75 and n<=100:
ast4 = ast4 + "*"
else:break
print(ast1)
print(ast2)
print(ast3)
print(ast4)
答案 0 :(得分:0)
因为ast1
变量包含*
,它被定义为字符串,1被定义为整数,所以字符串加整数连接是不可能的。对字符串变量和整数变量进行算术运算是不可能的。
答案 1 :(得分:0)
我现在尝试做的是让我的程序添加一个&#34; *&#34;如果输入小于或等于10
,则为ast1
你应该这样做:
ast1 = ast1 + '*'
或者,甚至更短:
ast1 += '*'
如果你想使用数学运算符,你可以使用乘数:
# will set ast1 to '**'
ast1 = ast1 * 2
但是当你第二次做乘法时,你当然会'****'
。不确定这是否是您想要的。
你可以直接乘以星号 - 比如'*' * 3
。它将返回'***'
。
答案 2 :(得分:0)
这个
ast1 = ast1 + 1 #This is where the error is occuring
应该是
ast1 = ast1 + str(1)
需要在Python中将数字显式地类型化为字符串,尤其是在字符串操作中。