Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.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 使用循环多次调用函数_Python_Python 3.x - Fatal编程技术网

Python 使用循环多次调用函数

Python 使用循环多次调用函数,python,python-3.x,Python,Python 3.x,我已经做了一个函数,可以生成一张地图,通过绘制代表一天24小时的24个版本的地图,我将把它转换成gif。我可以用下面的方法调用我的地图 get_gif(0.0, '00:00:00', '00.png') 要打印下一张地图,我将调用以下命令: get_gif(1.0, '01:00:00', '01.png') 依此类推,直到我的最后一个电话,看起来是这样的: get_gif(23.0, '23:00:00', '23.png') 我该如何做一个循环,这样我就可以一次性拨打所有24个电话?

我已经做了一个函数,可以生成一张地图,通过绘制代表一天24小时的24个版本的地图,我将把它转换成gif。我可以用下面的方法调用我的地图

get_gif(0.0, '00:00:00', '00.png')
要打印下一张地图,我将调用以下命令:

get_gif(1.0, '01:00:00', '01.png')
依此类推,直到我的最后一个电话,看起来是这样的:

get_gif(23.0, '23:00:00', '23.png')

我该如何做一个循环,这样我就可以一次性拨打所有24个电话?我的第一个参数是介于
0.0
23.0
(一天中的小时数)之间的浮点,然后是一个表示我在地图中打印的时间的字符串,然后是另一个表示文件名的字符串。

对于python3.6及更高版本:

for hour in range(24):
    get_gif(float(hour), f"{hour:02}:00:00", f"{hour:02}.png")

您需要的是字符串格式化程序。在python中,这类似于

'{0}.png'.format(n)
在python中,{0}。格式(n)将用数字n替换{0}。可以使用for循环更新变量n。不幸的是,您的文件似乎包含类似“01.png”的内容,因此无法执行此操作

'{0}.png'.format(1)
因为名称将变成1.png。因此,您可以使用if子句并使用

'0{0}.png'.format(n) 

如果n小于10。

这可以通过几种方式实现(f strings、string.format()、string concatenation),根据您自己的研究,到目前为止您尝试了什么?试着阅读有关函数的内容,并以没有否决权的人的身份发言:没有人因为提出问题而否决投票,然而,许多人在提问之前会对那些没有努力解决问题的问题投反对票,因为这不是一个代码编写或教程站点。我为仓促下结论而道歉。下一次,我将在提问的本质上投入更多的精力。一个有用的资源是关于创建一个帮助文章,以使我们能够更容易地帮助您。或者,使用格式说明符,而不是
if
检查:
'{0:02}.png'。格式(n)
。这将确保数字始终为2位数字,如果需要,可填充零