Python以这种格式获取数据

Python以这种格式获取数据,python,Python,我有一个小的代码单元,如下所示: round = 4 chars = 68 for k in range(round): if (k % 2) == 0: Title = 'Start '+chr(chars) else: Title = 'Reached ' + chr(chars) chars = chars - 1 print(Title) 使用此方法,我得到如下输出: Start D Reached C Start B Rea

我有一个小的代码单元,如下所示:

round = 4
chars = 68
for k in range(round):
   if (k % 2) == 0:
      Title = 'Start '+chr(chars)
   else:
      Title = 'Reached ' + chr(chars)
      chars = chars - 1
      print(Title)
使用此方法,我得到如下输出:

Start D
Reached C
Start B
Reached A
我真正想要的是我想要的结果是:

Start C
Reached B
Start B
Reached A

如何以这种方式获取标题请帮助我解决与此相关的问题

有一些问题需要解决:

chr(68)
表示字母“D”,因此应该初始化变量
chars=67

您还希望范围通过值1到4循环,因此您希望范围(1,5)而不是范围(4),范围将通过值0到3循环

print语句应该在if/else语句之外,以便在循环的每个迭代中打印

round = 4
chars = 67
for k in range(1, round+1):
   if (k % 2) == 0:
      Title = 'Start '+chr(chars)
   else:
      Title = 'Reached ' + chr(chars)
      chars = chars - 1
   print(Title)

输出:

Reached C
Start B
Reached B
Start A
Start C
Reached B
Start B
Reached A
说明:

我使用
while
循环对循环进行迭代,并在每次迭代后
将计数器变量增加1,以确保循环将被迭代4次。对于第一次迭代,
计数器=1
,因此它是一个奇数,并将打印
“Start”+chr(chars)
<代码>字符
默认设置为67,表示字母“C”。然后我从
chars
中减去1,使其等于66,或“B”。在下一次迭代中,计数器等于2,所以它将打印“到达B”。在这个迭代中不需要从
chars
中减去,因为我们希望chars在下一个迭代中保持为“B”。我基本上只是在一个循环中重复这个逻辑,并在上面迭代4次,以获得所需的输出。希望这有帮助

round = 4
chars = 67
start  = True
for k in range(round):
    if(start):
            print('start '+chr(chars))
            start = False
            chars = chars-1
    else:   
            print('reached '+chr(chars))
            start = True
这段代码将得到您的结果


<>编码时要考虑的一些事情。您希望避免定义与python函数同名的变量。例如,
round
是python中的一个函数,您将变量
round
分配给4。我改为
r

另外,
chr(68)
is
D
因此在67岁时启动程序,以获得所需的结果。当它第一次循环时,
k
的值将是
0
。这导致if(k%2==0为true。这就是为什么应该从67开始

另外,您的
print(Title)
缩进不正确。我将其移到if-else语句之外,以便它可以正确打印

您对代码所做的唯一更改是在两个位置。
chars=67
并减去
chars
的值,然后将新值分配给
Title
,达到

r = 4 #changed the variable name to r. round is a function

chars = 67 #started with 67 to give you C instead of D

for k in range(r): #used r instead of round

    if (k % 2) == 0:
        Title = 'Start '+ chr(chars)

    else:
       chars = chars - 1 #moved this line before you reassign value to Title
       Title = 'Reached ' + chr(chars)

    print(Title) #modified the indentation to print after each iteration
输出:

Reached C
Start B
Reached B
Start A
Start C
Reached B
Start B
Reached A

希望这有助于您理解代码的更改和实现。

您是否也可以对代码进行解释?@ArvinKushwaha刚刚添加了一个解释!如果有帮助,请进行投票:)我认为这可以通过对代码进行最小的更改来完成。我们所需要做的就是将chars的值更改为67,并在更改Title的值之前移动chars赋值。感谢您在while中实现此功能。这有助于OP了解替代实施选项。范围应为
范围(圆形)
,因为从其所需输出来看,
k
的初始值应为0。
Start C
Reached B
Start B
Reached A