piton (veya herhangi bir dilde) Bu nasıl uygulanacağına düşünmeye önce sorunu çözmek için oldukça iyi bir plan gibi görünüyor pseudocode, bakalım.
Sana üzerinde sıkışmış olabilir bir şey pseudocode başvuran yolu olduğunu tahmin ediyorum değişkenleri gibi highve low. Değişkenleri anlamak için bir yol onlara değerleri saklanabilir yuvaları dikkate almaktır. Herhangi bir zamanda, değişken sayıda 5 veya açık bir dosya için bir referans gibi bazı değere sahiptir. Bu değer adını kullanarak herhangi bir zamanda davet edilebilir, ya da kendisine atayarak yeni bir değer verilebilir ve eski değer yerini alarak yeni bir değerle unutulacak.
Yalancı kod üç değişken, başvuran high, lowve tries. Aynı zamanda onların ilk değerler ne olması gerektiğini söyler. İkinci satır yürüttü sonra, bu değerler sırasıyla 1000, 1 ve 1, ayarlanır, ancak program ilerledikçe yeni değerler alabilir.
Pseudocode bir başka özelliği, bir koşullu döngü ve kullanıcı girişine bir durumda analizidir. Sözdekod en döngünün Kişisel çeviri yanlıştır. Senin durumda, yeni bir değişken yarattık, ive Açıkçası bu pseudocode ile yapmak için bir sürü yok, 1 ile 1000 arası i her değerle döngü gövdesini çalıştırmak için programı talimat gelmiş.
(Döngü gövdesinde değiştirir) bazı koşul yanlış olana kadar yerine ne yapmak istediğiniz sonsuza döngü vardır. Python'da, whiledeyim yapar. Bir aşina iseniz ifaçıklamada, whileaynı görünüyor, ama vücut yapıldıktan sonra, durum yeniden değerlendirilir ve hala doğru ise gövdesi tekrar yürütülecektir.
Son olarak, döngü gövdesinde vaka analizi değerlerini beklenen karşılaştırarak şey gerektirir. Bazı diğer diller bu ifade edilme yollarına bir dizi olmasına rağmen, Python sadece var if- elif- elsecümlecikleri.
kod çalışmaya pseudocode dönüştürülmesi dışında, program aslında ne yaptığını anlamak için muhtemelen yararlıdır. Burada önemli olan program iki değerlerin ortalamasını tahmin hattı 4, üzerindedir. Bundan sonra programın tahmin çalıştı ne kadar iyi davranır.
Ile döngü içinde ilk çalıştırma, In high1000 ihtiva ve low1 içeren, ortalama 500 (aslında ortalama 500,5 olmakla biz tamsayılar, biz de bir tamsayı olmak bölünme sonucu istediğiniz piton tahmin ortalamasını ediyoruz beri ). Açıkçası bu tahminim doğru olma yalnızca% 0,1'lik bir şansı var, ama yanlış, kullanıcı çok yüksek veya çok düşük olup olmadığını bize bekleniyor. Her iki şekilde de, bu cevabı tamamen mümkün tahminlerde% 50 ortadan kaldırır.
Örneğin, kullanıcı bir düşük sayıda düşünüyordum, o zaman programı 500 tahmin zaman, 500 çok yüksek olduğunu programını ve ardından programın şimdiye numara olduğunu tahmin etmek olmazdı söylerdim kullanıcı bilgisayarı bir sürü iş kaydedebilirsiniz 1000'de aracılığıyla 501 aralığı.
kullanmak için bu bilgileri koymak için, programın hedef sayısı olabilir olası değerler aralığında izler. tahmin sayısı çok yüksek olduğunda, program ayarlar onun aşağı doğru bağlı, tahmin çok düşük hemen tahmin altında ve, program, alt hemen tahmin üzerinde yukarı doğru bağlanmış ayarlar üst.
Program tekrar tahmin zaman sanırım bir daha ikiye aralık kesme, sağ mümkün aralığın ortasında. olası tahminlerde iki numaralı tahmin olarak 250, bir tahmin 500 orijinal 1000 den gitti. Program korkunç şans vardır ve üçte bir oranında daha sonra, (aslında oldukça muhtemeldir ki) burayı ikisini alamıyorsanız, sadece 125 sayı hakkında endişe bıraktı vardır. Dördüncü tahmin sonra yalnızca 62 sayı aralığında kalır. Bu devam eder ve sekiz tahminden sonra, sadece 3 sayı kalır ve program dokuzuncu tahmin için orta numarasını çalışır. Bu yanlış olduğu ortaya çıkarsa, sadece bir sayı bırakılır ve program bunu tahmin!
Yarısında bir dizi bölme ve sonra daha yakın yarısına devam etme Bu teknik denir olduğu İkiye bölme ve bilgisayar bilimine ilgi geniş bir yelpazede konular görünür.
Biraz KODU hakkında! i öğrenme deneyimi mahrum etmek istemiyorum, ben sadece sayfada size yardımcı olabilecek bazı parçacıkları vereceğiz. piton interaktif keşif için tasarlanmış bir dildir, bu nedenle tercüman ateşlemek ve bu bir deneyin. Ben gösterilen istekleri ile örnekler, aslında bu yazmayın gönderme olacak.
İşte kullanıldığı bir örnek whilemaddesini:
>>> x = 1000
>>> while x > 1:
... x = x/2
... print x
...
500
250
125
62
31
15
7
3
1
>>> x
1
Kullanıcıdan alınıyor konsol girişi yoluyla yapılmalıdır raw_input()fonksiyonu. Sadece ne olursa olsun kullanıcı türleri döndürür. Bu göstermek için biraz daha zordur. Ben yazacağım girdisi gerektirmektedir piton her satırdan sonra, işleri basitleştirmek için "Merhaba Dünya!" (tırnaklar olmadan)
>>> raw_input()
Hello World!
'Hello World!'
>>> y = raw_input()
Hello World!
>>> print y
Hello World!
>>>
Nasıl bazı kavramların birleştirerek hakkında!
>>> myvar = ''
>>> while myvar != 'exit':
... myvar = raw_input()
... if myvar == 'apples':
... print "I like apples"
... elif myvar == 'bananas':
... print "I don't like bananas"
... else:
... print "I've never eaten", myvar
...
apples
I like apples
mangoes
I've never eaten mangoes
bananas
I don't like bananas
exit
I've never eaten exit
>>>
Hata. Orada bir hata biraz. bunu düzeltmek varsa görün!