首先,我不想要一些代码进行复制粘贴。我想知道如何处理这个问题。我正在学习如何编程,而且我对何时使用循环感到困惑,我不知道是否这是正确的方法。
现在,这是我试图解决的问题:"编写一个程序来计算字符串中的字母数作为命令行参数,并打印出字符串中最常见字母的百分比(如果有相同频率的字母打印出所有相同的字母)"
答案 0 :(得分:3)
您应该将任务分解为可以逐个处理的子任务。
如果您发现需要迭代用户输入,请在解决这些步骤时使用循环。请参阅以下示例。
当您有一些数据需要迭代时,会使用循环。例如:
commands = ["say hello","1 + 1","exit","this command would never be reached"]
for command in commands:
if command == "say hello":
print "hello"
elif command == "1 + 1":
print 2
elif command == "exit":
break
您可以检查某些数字的数据:
data = [1, 2, 3]
for n in data:
if n == 2:
print "Found a 2!"
您可以对数据进行排序:
# separate all the upper, lower, and non-alphabet characters
letters = "AbCdEfGhI!@"
uppercase = []
lowercase = []
other = []
for letter in letters:
if letter.isupper():
uppercase.append(letter)
elif letter.islower():
lowercase.append(letter)
else:
other.append(letter)
lowercase.append(letter)
while
循环以类似的方式使用,通常对已知的有限范围内的事物使用for
循环,对于迭代次数可能不对的任务使用while
循环修好。
data = [1,2,3,4,5,6,7,8,9]
while len(data) > 0:
if data[-1] == 5:
print data.pop()
data.append(4)
else:
print data.pop()
您还可以在while
循环
for
循环
i = 0
while i < 10:
print i
i += 1
for i in xrange(10):
print i
上面的两个循环执行等效任务,从0-9