Python 为什么我的脚本需要int()?
我创建了一个用作计数器的基本函数。但是,对于我通过脚本传递的每个参数,需要使用int()将变量转换为整数 “fun_循环(n,b)”中的两个变量都需要int()Python 为什么我的脚本需要int()?,python,string,shell,python-2.7,integer,Python,String,Shell,Python 2.7,Integer,我创建了一个用作计数器的基本函数。但是,对于我通过脚本传递的每个参数,需要使用int()将变量转换为整数 “fun_循环(n,b)”中的两个变量都需要int() 从系统导入argv 脚本,最大值,增量=argv def fun_循环(n,b): i=0 数字=[] 而i
从系统导入argv
脚本,最大值,增量=argv
def fun_循环(n,b):
i=0
数字=[]
而i
如果我在变量上不使用int()运行代码,那么我要么
无限循环-如果我传递变量n
而不传递int()
或
TypeError:不支持的操作数
-如果我传递变量b
,而不传递int()
在传递每个变量时,如何使该脚本不必使用
int()
?因为sys.argv
列表的元素始终都是字符串
在将它们传递到函数之前,您可以将它们转换为整数:
max_number, increment = map(int, argv[1:])
fun_loop(max_number, increment)
具体地说,在Python 2中,整数排序比其他任何东西都重要,因此得到了一个无限循环:
>>> 1 < '1'
True
因为
sys.argv
列表的元素始终都是字符串
在将它们传递到函数之前,您可以将它们转换为整数:
max_number, increment = map(int, argv[1:])
fun_loop(max_number, increment)
具体地说,在Python 2中,整数排序比其他任何东西都重要,因此得到了一个无限循环:
>>> 1 < '1'
True
正如您的代码发布的那样,我之前通过将参数转换为整数来运行代码。但是我遇到了这个错误<代码>文件“ex33s.py”,第5行,在脚本中,max_number,increment=map(int,argv[1:])value错误:需要两个以上的值才能解包我的代码如下
脚本,max_number,increment=map(int,argv[1:])def fun_循环(n,b):
@user3200293:仔细看看我给你的代码。我没有分配给脚本、最大值、增量
。我省略了script
,因为脚本名称不需要转换为整数。是的,一旦您在注释中设置了格式,我就知道了出现错误的原因。之前,我通过将参数转换为整数来运行代码,正如您的代码所发布的那样。但是我遇到了这个错误<代码>文件“ex33s.py”,第5行,在脚本中,max_number,increment=map(int,argv[1:])value错误:需要两个以上的值才能解包我的代码如下脚本,max_number,increment=map(int,argv[1:])def fun_循环(n,b):
@user3200293:仔细看看我给你的代码。我没有分配给脚本、最大值、增量
。我遗漏了script
,因为脚本名称不需要转换为整数。是的,一旦你在评论中添加了格式,我就知道了为什么会出现错误。