Это решение, которое учитывает согласные и гласные, в то время как явно исключает пунктуацию.
from string import punctuation
x = 'This is an example sentence.'
table = str.maketrans('', '', punctuation)
x = x.translate(table).lower().replace(' ', '')
vowels = set('aeiou')
consonants = sum(i not in vowels for i in x)
vowels = sum(i in vowels for i in x)
print(consonants) # 14
print(vowels) # 9
Чтобы получить производителя, вам нужно использовать Windows.Devices.Enumeration.Pnp API. Использование PnpObject аналогично использованию API Enumeration . Когда вы создаете PnpObject с помощью одного из его статических методов, вам необходимо добавить «System.Devices.Manufacturer» в список свойств, таких как:
private PnpObjectWatcher pnpObjectWatcher = null;
private void Button_Click(object sender, RoutedEventArgs e)
{
List<string> properties = new List<string>();
properties.Add("System.Devices.Manufacturer");
pnpObjectWatcher = PnpObject.CreateWatcher(PnpObjectType.DeviceContainer,properties);
pnpObjectWatcher.Added += PnpObjectWatcher_Added;
pnpObjectWatcher.Start();
}
private void PnpObjectWatcher_Added(PnpObjectWatcher sender, PnpObject args)
{
Debug.WriteLine(args.Properties["System.Devices.Manufacturer"]);
}
Обратите внимание, что PnpObjectType должен иметь тип DeviceContainer. иначе имя производителя не может быть получено.