UserInput:(“LANDSAT8,5 8,5,MODIS,3,SENTINAL2,6 2,6”)。用户输入了三颗卫星的名称,并指示程序下载该卫星的图像数量。在这个例子中,有三对;
优先输出应类似于:
程序输出: LANDSAT8图像1下载LANDSAT8图像2下载LANDSAT8图像3下载LANDSAT8图像4下载LANDSAT8图像5下载MODIS图像2下载SENTINAL2图像3下载SENTINAL2图像2下载SENTINAL2图像3下载SENTINAL2图像4下载SENTINAL2图像5下载SENTINAL2图像6下载
发布于 2022-09-05 18:43:37
我想这就是你想要做的:
user_input = "LANDSAT8,5,MODIS,3,SENTINAL2,6"
tokens = user_input.split(',')
for s, d in zip(tokens[::2], map(int, tokens[1::2])):
for i in range(d):
print(f'{s} image {i+1} downloaded')
输出:
LANDSAT8 image 1 downloaded
LANDSAT8 image 2 downloaded
LANDSAT8 image 3 downloaded
LANDSAT8 image 4 downloaded
LANDSAT8 image 5 downloaded
MODIS image 1 downloaded
MODIS image 2 downloaded
MODIS image 3 downloaded
SENTINAL2 image 1 downloaded
SENTINAL2 image 2 downloaded
SENTINAL2 image 3 downloaded
SENTINAL2 image 4 downloaded
SENTINAL2 image 5 downloaded
SENTINAL2 image 6 downloaded
发布于 2022-09-05 18:27:49
UserInput="LANDSAT8,5,MODIS,3,SENTINAL2,6"
numbers=[]
names=[]
for keyword in UserInput.split(","):
if keyword.isdigit():
numbers.append(keyword)
else:
names.append(keyword)
for i in range(len(names)):
temp=numbers[i]
for j in range(int(temp)):
print(names[i],"image "+str(j)+" downloaded",end=" ")
发布于 2022-09-05 18:17:18
概述
您需要获得输入,将输入拆分到,
逗号上,然后将它们压缩成对,然后生成输出文本,然后可以使用输出数组打印或执行任何操作,输出数组中的每个元素都是字符串。使用
{x} image {y} downloaded
格式
代码
def pairwise(iterable):
"s -> (s0, s1), (s2, s3), (s4, s5), ..."
a = iter(iterable)
return zip(a, a)
user_input = input("enter satelites: ")
splitted = user_input.split(',')
output = []
for x, y in pairwise(splitted):
output.append(f"{x} image {y} downloaded");
for x in output: # Do your downloading stuff
print(x)
产出(使用)
https://stackoverflow.com/questions/73613258
复制相似问题