Soru
Programcıya ad ve soyaddan oluşan bir değer (isim) veriliyor. Bu noktadan sonra ise, girilen isimdeki her bir değerin baş harfini büyük yapıp, kalan harfleri ise yıldızlı yazması isteniyor.
Örnek
Girdi | Çıktı |
---|---|
isim: Ali ufuk cakir | sonuc: A** U*** C**** |
isim: Ece kalır | sonuc: E** K**** |
isim: ahmet Bulduk | sonuc: A** B**** |
Çözüm - C#
using System;
using System.Collections.Generic;
namespace Test
{
public class Program
{
private static void Main()
{
string isim = "Mehmet üstün kal";
// Her bir ismin baş harfini büyük yapıp diziye dönüştür
string[] dizi = isim.Split(' ');
List<string> deger = new List<string>();
// Her bir dizi değerini tek tek al
foreach (string ad in dizi)
{
// Kullanıcı baş harf yazmasa da baş harfleri büyük yap
string yeniDeger = ad[0].ToString().ToUpper();
// Dizideki her bir isimdeki ilk harf haricinde olanları yıldızla değiştir
for (int i = 1; i < ad.Length; i++)
yeniDeger += ad[i].ToString().Replace(ad[i].ToString(), "*");
deger.Add(yeniDeger);
}
Console.WriteLine(string.Join(" ", deger));
Console.Read();
}
}
}
Çözüm - Python
isim = "Mehmet Üstün kal"
# Her bir ismin baş harfini büyük yapıp diziye dönüştür
dizi = isim.title().split()
yildizli_gorunum = ""
# Her bir dizi değerini tek tek al
for ad_soyad in dizi:
# Kullanıcı baş harf yazmasa da baş harfleri büyük yap
yildizli_gorunum += ad_soyad[0].upper()
# Dizideki her bir isimdeki ilk harf haricinde olanları yıldızla değiştir
for harf in ad_soyad[1:]:
yildizli_gorunum += harf.replace(harf, "*")
# Diğer dizi değerine geçerken boşluk ekle
yildizli_gorunum += " "
print(yildizli_gorunum)