Python 使用while循环从字符串中一次打印一个字符

Python 使用while循环从字符串中一次打印一个字符,python,while-loop,Python,While Loop,我正在读“核心Python编程第二版”,他们让我打印一个字符串,使用“while”循环一次打印一个字符 我知道while循环是如何工作的,但由于某种原因,我想不出一个方法来实现这一点。我一直在四处寻找,只看到使用for循环的示例 所以我要做的是: 用户输入: text = raw_input("Give some input: ") 我知道如何从数组中读取每一段数据,但我不记得如何对字符串进行读取 现在我只需要在while循环中工作,它一次打印字符串的每个字符 我想我必须使用len(text

我正在读“核心Python编程第二版”,他们让我打印一个字符串,使用“while”循环一次打印一个字符

我知道while循环是如何工作的,但由于某种原因,我想不出一个方法来实现这一点。我一直在四处寻找,只看到使用for循环的示例

所以我要做的是:

用户输入:

text = raw_input("Give some input:  ")
我知道如何从数组中读取每一段数据,但我不记得如何对字符串进行读取

现在我只需要在while循环中工作,它一次打印字符串的每个字符

我想我必须使用len(text),但我不能100%确定如何在这个问题中使用它

有人帮忙会很难受的!我相信这是一个非常简单的问题,但由于某些原因,我不能想出它


Thx预付款!:)

Python允许您使用字符串作为迭代器:

for character in 'string':
    print(character)

我猜你的工作是找出如何将其转化为while循环。

我很确定,互联网上充斥着python while循环,但有一个例子:

i=0

while i < len(text):
    print text[i]
    i += 1
i=0
而我
其他答案已经为您提供了使用
while
循环(或
for
循环)迭代字符串所需的代码,但我认为解释这两种循环之间的差异可能会有用

while
循环重复一些代码,直到满足特定条件。例如:

import random

sum = 0
while sum < 100:
    sum += random.randint(0,100) #add a random number between 0 and 100 to the sum
    print sum
这个循环将正好运行10次。这是一种更好的写作方式:

int i = 0;
while (i < 10) { //until i is 10
   System.out.println(i);
   i++; //add one to i 
}

但是,您不想对循环使用
。在这种情况下,您需要使用每个字符的索引查看每个字符。像这样:

print myString[0] #print the first character
print myString[len(myString) - 1] # print the last character.
知道您可以仅使用
while
循环和计数器为
创建
for
循环,并且知道您可以通过索引访问单个字符,现在使用
while
循环一次访问每个字符应该很容易

但是通常在这种情况下,您会使用
for
循环,因为它更容易阅读

   # make a list out of text - ['h','e','l','l','o']
   text = list('hello') 

   while text:
       print text.pop()
:)

在python中,空对象的计算结果为false。 .pop()删除并返回列表中的最后一项。这就是为什么它在背面打印

但可通过以下方式进行修复:

text.pop( 0 )
请尝试以下步骤:

def procedure(input):
    a=0
    print input[a]
    ecs = input[a] #ecs stands for each character separately
    while ecs != input:
        a = a + 1
        print input[a]

为了使用它,你必须知道如何使用程序,尽管它可以工作,但最后还是有一个错误,所以你也必须解决这个问题。

这将在文本中打印每个字符

text = raw_input("Give some input:  ")
for i in range(0,len(text)):
   print(text[i])

字符串可以具有for循环,以便:

for a in string:
    print a
Python代码:

for s in myStr:
        print s

试试这个

使用while循环打印每个字符
i=0
x=“abc”

虽然iYou是正确的,而且这是人们99.9%的时间都会迭代字符串的方式,但OP明确表示他们不想在
循环中使用
,我想我不会完全给出答案,因为这似乎是一个任务,但请提供提示,说明
str
本身是可以使用的。请添加一些代码,向我们展示您的尝试,我们将不胜感激!)是的,互联网上到处都是python,而循环:)我以前用过它们。但我无法完全理解如何让它一次打印一个字符串中的一个字符!谢谢你的帮助!您可能想阅读Python教程=>这非常有用!我知道如何处理这两个问题,但这让我对我所做的更有意义!太多了!:这不能回答问题,是的。基本上如何在字符串上迭代。这个问题明确地问了一个while-loop。答案是好的,但是获得一些关于解决方案的细节会很好,特别是因为这个问题涉及编程的基本和基本方面,这意味着提问的人可能是新手。说到点子上:a。结束参数是什么(我猜是在每个字符后面加空格)。打印索引(i)是不需要的,但我怀疑您在运行解决方案时使用它是为了调试和提高清晰度是的..打印索引是不需要的…但为了了解代码的工作方式…我在初学者级别上使用了它当然,这样做是个好主意,我只是指出,值得在这一行上发表评论,告诉大家这是为了帮助理解,而不是解决方案真正需要的。
text = raw_input("Give some input:  ")
for i in range(0,len(text)):
   print(text[i])
for a in string:
    print a
for s in myStr:
        print s
for i in xrange(len(myStr)):
    print myStr[i]
i=0
x="abc"
while i<len(x) :
    print(x[i],end=" ")
    print(i)
    i+=1