def binary_string(s):
编写一个带字符串的函数,将其转换为二进制字符串
元音被0代替,辅音被1代替
该函数应返回二进制字符串。
binary_string(#34&;卡伦&#34)
' 10101'
binary_string(" Hello World!")
' 10110 10111!'
if __name__ == '__main__':
import doctest
doctest.testmod(verbose = True)
答案 0 :(得分:0)
尝试这样的事情。假设您的字符串变量的名称是“stringVar”。
string binaryString="";
for(int i=0;i<stringVar.Length();i++)
{
if(stringVar == 'a' || stringVar == 'A' || stringVar == 'e') //and so on
{
binaryString[i] = '0';
}
else
{
binaryString[i] = '1';
}
}//end for loop.
print(binaryString);
这应该可以为您提供所需的结果。这是基本功能。其余的取决于您编写的语言。
希望这有帮助。
答案 1 :(得分:0)
由于你没有指定你想要解决方案的语言,所以我假设它是java(来自我的身边)。虽然,算法对所有语言都有效。 的码强>
public class SO {
public static void main(String[] args) {
String s = "Karen";
char[] arr = s.toCharArray();
StringBuilder binary = new StringBuilder();
for (char c : arr) {
if(Character.isAlphabetic(c)){
if (isVowel(c)) {
binary.append("0");
}else{
binary.append("1");
}
}else{
binary.append(c);
}
}
System.out.println(binary);
}
private static boolean isVowel(char c) {
if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u' || c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U') {
return true;
}
return false;
}
}
<强>输出强>
When input is
String s = "Karen";
then output is
binary = 10101
和
When input is
String s = "Hello World!";
then output is
binary = 10110 10111!