首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python列表循环,根据逗号后的编号打印卫星名称

Python列表循环,根据逗号后的编号打印卫星名称
EN

Stack Overflow用户
提问于 2022-09-05 18:08:39
回答 4查看 42关注 0票数 0

UserInput:(“LANDSAT8,5 8,5,MODIS,3,SENTINAL2,6 2,6”)。用户输入了三颗卫星的名称,并指示程序下载该卫星的图像数量。在这个例子中,有三对;

  1. LANDSAT8,5
  2. MODIS,3
  3. SENTINAL2,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下载

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2022-09-05 18:43:37

我想这就是你想要做的:

代码语言:javascript
运行
复制
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')

输出:

代码语言:javascript
运行
复制
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
票数 0
EN

Stack Overflow用户

发布于 2022-09-05 18:27:49

代码语言:javascript
运行
复制
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=" ")
票数 1
EN

Stack Overflow用户

发布于 2022-09-05 18:17:18

概述

您需要获得输入,将输入拆分到,逗号上,然后将它们压缩成对,然后生成输出文本,然后可以使用输出数组打印或执行任何操作,输出数组中的每个元素都是字符串。使用

{x} image {y} downloaded格式

代码

代码语言:javascript
运行
复制
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)

产出(使用)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73613258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档