Python 将两个输入作为初始值和最终值以及打印范围
这是我的代码:Python 将两个输入作为初始值和最终值以及打印范围,python,string,Python,String,这是我的代码: a,b=input().split() for x in range(a,b): print(list(x)) 为什么这不起作用 它说不能将str解释为int 当我把它放在int下,它说int参数必须是一个字符串 我想要这个: 输入: 2 6 输出: 3 4 5 6 这正是您所期望的: a,b=input().split() for x in range(int(a)+1,int(b)+1): print(x) input返回字符串,split返回字符串列表
a,b=input().split()
for x in range(a,b):
print(list(x))
为什么这不起作用
它说不能将str解释为int
当我把它放在int下,它说int参数必须是一个字符串
我想要这个:
输入:
2 6
输出:
3
4
5
6
这正是您所期望的:
a,b=input().split()
for x in range(int(a)+1,int(b)+1):
print(x)
input返回字符串,split返回字符串列表。在将它们输入范围之前,必须将它们转换为整数。此外,在printx中,x已经是一个数字,没有理由将其转换为列表,它也不会工作。只需将printlistx替换为printx即可。我看不出有任何理由使用这个列表。如果希望最后打印的数字与b相同,也可以使用rangea,b+1代替rangea,b。默认情况下,input接受值作为字符串,split返回字符串列表。输入后需要将a和b转换为int。另外,您需要去掉listx,而只使用printx,因为Python中的int是不可编辑的。
正确的代码是:
a, b = map(int, input().split())
for x in range(a + 1, b + 1):
print(x)
或
在这两种情况下,对于输入2 6,输出为
3
4
5
6
int参数必须是字符串、类似于对象的字节或数字,而不是“列表”
3
4
5
6