Что вы хотите:
const char char_offset = 'a';
const int num_chars = 26;
std::vector<int> amounts(num_chars, 0);
std::string word = "blahblah";
for (auto c : word) {
int i = c - char_offset;
// this if statement is only for range checking.
// you can remove it if you are sure about the data range.
if (i >= 0 && i < num_chars) {
++amounts[i];
}
}
for (int i = 0; i < (int)amounts.size(); ++i) {
std::cout << (char)(char_offset + i) << ": " << amounts[i] << std::endl;
}
<час> Output
a: 2
b: 2
c: 0
d: 0
e: 0
f: 0
g: 0
h: 2
i: 0
j: 0
k: 0
l: 2
m: 0
n: 0
...
Python 3 просто не настолько отличается от Python 2.x. С точки зрения синтаксиса по сути, вещи, которые должны будут на самом деле быть обработаны по-другому синтаксическим анализатором, единственное существенное изменение, находятся в замене print
оператор с print
функция.
Большинство функций Python может легко зондироваться через самоанализ (справка онлайн, завершение метода, функциональные подписи, и т.д.), таким образом, нет никакой причины, почему любой IDE Python потребует, чтобы существенные изменения работали с Python 3.0. Я ожидаю НЕАКТИВНЫЙ и SPE, и другие IDE с открытым исходным кодом будут поддержкой он перед финальной версией.
Комодо 5 бет 1 были выпущены в октябре 2008 и имеют начальную поддержку Python 3, но я не думаю, что использовал бы его для производственного кода все же.
Учитывая, что Python 3 является все еще очень ранней предвыпускной версией, Вы можете испытать некоторые затруднения при нахождении сформировавшейся поддержки в IDE.
Может получить PyDev. из http://pydev.sourceforge.net. Это - плагин для Eclipse и более, чем удобно. Не говоря уже о преимуществах старого и доверяемого Eclipse.
Я могу сказать, что во время публикации (апр. 28 2009, версия 0.8.4h), что SPE не не правильно обрабатывает некоторый синтаксис python3 - в частности, обработку исключений. Например, следующий код помечается как ошибка (и раздражает, когда он сохраняется при каждом сохранении файла):
except urllib.error.URLError as e:
if hasattr(e, 'reason'):
#...
Emacs + python.el продолжает быть лучше, чем что-либо еще, что я попробовал.
PyDev for Eclipse does support 3.0. You can configure multiple interpreters in the plug-in settings.
In the project properties you can set:
(PyDev version at time of writing: 1.4.7.)
Pyscripter - ИДЕАЛЬНАЯ IDE Python для Windows; он совместим даже с недавно выпущенным Python 3.1.
Geany работает с python 3, если вы установите его, а затем:
sudo gedit /usr/share/geany/filetypes.python
измените последние 2 строки с помощью:
compiler = python3 -c "import py_compile; py_compile.compile ('% f') "
run_cmd = python3"% f "