SORU
2 Mayıs 2011, PAZARTESİ


Biri bana açıklayabilir kaynak python " kod;alma" olabilir mi?

Python yorumlayıcısı açın ve yazın "bildiğiniz gibi gösterir:." bu alma

Tim Peters tarafından Python Zen,

Güzel çirkin daha iyidir.
Açık örtülü daha iyidir.
Basit Karmaşık daha iyidir.
Karmaşık karmaşık daha iyidir.
Düz iç içe daha iyidir.
Seyrek yoğun daha iyidir.
Okunabilirlik sayar.
Özel durumlarda kuralları kırmak için yeterince özel değil.
Pratiklik saflık atıyor olsa da.
Hataları asla sessizce geçmesi gerekir.
Açıkça Susturuldu sürece.
Belirsizlik karşısında, günaha sanırım reddediyorum.
Bir ... ve tercihen sadece bunu yapmak için bir ... belirgin bir yolu olmalı.
Bu şekilde Hollanda değilsen ilk başta açık olmayabilir rağmen.
Şimdi hiç olmamasından daha iyidir.
Ancak asla genellikle daha iyidirdoğruşimdi.
Eğer uygulama açıklamak zor ise, bu kötü bir fikir.
Eğer uygulaması kolay açıklamak için ise, iyi bir fikir olabilir.
Ad -- bir tane daha yapalım bir korna harika bir fikir!

Python kaynak () Lib/this.py bu metin kod garip bir parça oluşturulur:

s = """Gur Mra bs Clguba, ol Gvz Crgref

Ornhgvshy vf orggre guna htyl.
Rkcyvpvg vf orggre guna vzcyvpvg.
Fvzcyr vf orggre guna pbzcyrk.
Pbzcyrk vf orggre guna pbzcyvpngrq.
Syng vf orggre guna arfgrq.
Fcnefr vf orggre guna qrafr.
Ernqnovyvgl pbhagf.
Fcrpvny pnfrf nera'g fcrpvny rabhtu gb oernx gur ehyrf.
Nygubhtu cenpgvpnyvgl orngf chevgl.
Reebef fubhyq arire cnff fvyragyl.
Hayrff rkcyvpvgyl fvyraprq.
Va gur snpr bs nzovthvgl, ershfr gur grzcgngvba gb thrff.
Gurer fubhyq or bar-- naq cersrenoyl bayl bar --boivbhf jnl gb qb vg.
Nygubhtu gung jnl znl abg or boivbhf ng svefg hayrff lbh'er Qhgpu.
Abj vf orggre guna arire.
Nygubhtu arire vf bsgra orggre guna *evtug* abj.
Vs gur vzcyrzragngvba vf uneq gb rkcynva, vg'f n onq vqrn.
Vs gur vzcyrzragngvba vf rnfl gb rkcynva, vg znl or n tbbq vqrn.
Anzrfcnprf ner bar ubaxvat terng vqrn -- yrg'f qb zber bs gubfr!"""

d = {}
for c in (65, 97):
    for i in range(26):
        d[chr(i c)] = chr((i 13) % 26   c)

print "".join([d.get(c, c) for c in s])

CEVAP
2 Mayıs 2011, PAZARTESİ


Bu rot13 kodlama denir:

d = {}
for c in (65, 97):
    for i in range(26):
        d[chr(i c)] = chr((i 13) % 26   c)

Oluşturur çeviri tablosu, büyük harf (bu 65 için) ve küçük harf (97 budur) her iki karakter için.

print "".join([d.get(c, c) for c in s])

Parmak izi tercüme dize.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Sam Kear

    Sam Kear

    14 Temmuz 2007
  • SRC RECORDS

    SRC RECORDS

    2 EKİM 2006
  • The Amazing Atheist

    The Amazing

    20 Kasım 2006