我试图熟悉python,我一直在将一些C#代码转换为python,并且我遇到了一个错误,我找不到,我得到“索引超出范围”的错误,这是我的Python代码:列表 - 索引超出范围
import random
myString = raw_input("Input: ")
words = myString.split(" ")
wordList = list()
for word in words:
wordList.append(word)
wordChoice = 0;
myStringRandomized = "";
while len(wordList) != 0:
wordChoice = random.randint(0, len(wordList))
myStringRandomized += wordList[wordChoice] + " "
del wordList[wordChoice]
print("Characters: " + str(len(myString)))
print("Words: " + str(len(myString.split(" "))))
print("Uppercase: " + myString.upper())
print("Lowercase: " + myString.lower())
print("Randomized: " + myStringRandomized)
而且工作相当于在C#:
static void Main(string[] args)
{
Console.Write("Input: ");
string myString = Console.ReadLine();
string[] words = myString.Split(' ');
List<string> wordList = new List<string>();
foreach (string word in words)
wordList.Add(word);
Random random = new Random();
int wordChoice = 0;
string myStringRandomized = "";
while (wordList.Count != 0)
{
wordChoice = random.Next(0, wordList.Count);
myStringRandomized += wordList[wordChoice] + " ";
wordList.Remove(wordList[wordChoice]);
}
Console.WriteLine("Characters: " + myString.Length);
Console.WriteLine("Words: " + myString.Split(' ').Length);
Console.WriteLine("Uppercase: " + myString.ToUpper());
Console.WriteLine("Lowercase: " + myString.ToLower());
Console.WriteLine("Randomized: " + myStringRandomized);
Console.ReadKey();
}
这将是巨大的,如果在那里我已经出了问题有人能指出, 非常感谢你!
@jonrsharpe这是一个答案,而不是评论。为什么错过甜美甜美的声望点? ;-) – delnan 2015-04-05 13:35:15