0% found this document useful (0 votes)
4 views

The Python Book Dan Peel instant download

The document provides information about 'The Python Book' by Dan Peel, which is designed to help beginners learn Python programming, especially in conjunction with Raspberry Pi. It includes tutorials, creative projects, and over 400 essential tips to enhance coding skills. The book also covers various frameworks and applications of Python, making it a comprehensive resource for aspiring programmers.

Uploaded by

rasuwarozbeh
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

The Python Book Dan Peel instant download

The document provides information about 'The Python Book' by Dan Peel, which is designed to help beginners learn Python programming, especially in conjunction with Raspberry Pi. It includes tutorials, creative projects, and over 400 essential tips to enhance coding skills. The book also covers various frameworks and applications of Python, making it a comprehensive resource for aspiring programmers.

Uploaded by

rasuwarozbeh
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 41

The Python Book Dan Peel download

https://ebookmeta.com/product/the-python-book-dan-peel/

Download more ebook from https://ebookmeta.com


We believe these products will be a great fit for you. Click
the link to download now, or visit ebookmeta.com
to discover even more!

All About History Book of the Medici - First edition


2019 Dan Peel (Editor)

https://ebookmeta.com/product/all-about-history-book-of-the-
medici-first-edition-2019-dan-peel-editor/

Ultimate 80s Retro Gaming Collection 4th Edition Dan


Peel

https://ebookmeta.com/product/ultimate-80s-retro-gaming-
collection-4th-edition-dan-peel/

History of War Defining Battles of World War II 4th


Edition 2023 Dan Peel - Editor

https://ebookmeta.com/product/history-of-war-defining-battles-of-
world-war-ii-4th-edition-2023-dan-peel-editor/

Reliable Robot Localization A Constraint Programming


Approach Over Dynamical Systems 1st Edition Simon Rohou

https://ebookmeta.com/product/reliable-robot-localization-a-
constraint-programming-approach-over-dynamical-systems-1st-
edition-simon-rohou/
Intolerant Filthy Rich Kinky Book 2 1st Edition Elena
Dawne

https://ebookmeta.com/product/intolerant-filthy-rich-kinky-
book-2-1st-edition-elena-dawne/

C Programming for the PIC Microcontroller: Demystify


Coding with Embedded Programming Hubert Henry Ward

https://ebookmeta.com/product/c-programming-for-the-pic-
microcontroller-demystify-coding-with-embedded-programming-
hubert-henry-ward/

Food Processing Advances in Thermal Technologies


Kshirod Kumar Dash

https://ebookmeta.com/product/food-processing-advances-in-
thermal-technologies-kshirod-kumar-dash/

Coherence: The Science of Exceptional Leadership and


Performance 2nd Edition Watkins

https://ebookmeta.com/product/coherence-the-science-of-
exceptional-leadership-and-performance-2nd-edition-watkins/

Shattered Fractured 1 1st Edition Katelyn Beckett

https://ebookmeta.com/product/shattered-fractured-1-1st-edition-
katelyn-beckett/
RNA Interference and CRISPR Technologies Mouldy Sioud

https://ebookmeta.com/product/rna-interference-and-crispr-
technologies-mouldy-sioud/
NEW Everything you need to start coding with Python in Linux

The

Python Over

400
essential tips
100% UNOFFICIAL

Edition
Digital

OVER 2 HOURS
OF VIDEO TUTORIALS
FIFTEENTH
EDITION

Learn to use Python • Program games • Get creative with Pi


Welcome to
The

Python
Python is an incredibly versatile, expansive language that, due to its similarity to
everyday language, is surprisingly easy to learn even for inexperienced programmers. It
has seen a huge increase in popularity since the release and rise of the Raspberry Pi, for
which Python is the officially recognised programming language. In this new edition
of The Python Book, you’ll find plenty of creative projects to help you get to grips with
the combination of your Raspberry Pi and Python’s powerful functionality, plus lots
of tutorials that focus on Python’s effectiveness away from the tiny computer. You’ll
learn all about how to code with Python from a standing start with our comprehensive
masterclass, then go on to complete tutorials that will consolidate your skills and help
you become fluent in the language. You’ll learn how to make Python work for you
with tutorials on coding with Django, Flask, Pygame and even more useful third-party
frameworks. Get ready to become a true Python expert with the wealth of information
contained within these pages and the free video tuition on FileSilo.
The

Python
Future PLC Quay House, The Ambury, Bath, BA1 1UA

Editorial
Compiled by Dan Peel & Steve Dacombe
Senior Art Editor Andy Downes
Head of Art & Design Greg Whitaker
Editorial Director Jon White
Contributor
Jonni Bidwell
Advertising
Media packs are available on request
Commercial Director Clare Dove
International
Head of Print Licensing Rachel Shaw
licensing@futurenet.com
www.futurecontenthub.com
Circulation
Head of Newstrade Tim Mathers
Production
Head of Production Mark Constance
Production Project Manager Matthew Eglinton
Advertising Production Manager Joanne Crosby
Digital Editions Controller Jason Hudson
Production Managers Keely Miller, Nola Cokely,
Vivienne Calvert, Fran Twentyman
Printed in the UK
Distributed by Marketforce, 5 Churchill Place, Canary Wharf, London, E14 5HU
www.marketforce.co.uk Tel: 0203 787 9001
The Python Book Fifteenth Edition (TCB5053)
© 2023 Future Publishing Limited

We are committed to only using magazine paper which is derived from responsibly managed,
certified forestry and chlorine-free manufacture. The paper in this bookazine was sourced
and produced from sustainable managed forests, conforming to strict environmental and
socioeconomic standards.

All contents © 2023 Future Publishing Limited or published under licence. All rights reserved.
No part of this magazine may be used, stored, transmitted or reproduced in any way without
the prior written permission of the publisher. Future Publishing Limited (company number
2008885) is registered in England and Wales. Registered office: Quay House, The Ambury,
Bath BA1 1UA. All information contained in this publication is for information only and is, as far
as we are aware, correct at the time of going to press. Future cannot accept any responsibility
for errors or inaccuracies in such information. You are advised to contact manufacturers and
retailers directly with regard to the price of products/services referred to in this publication. Apps
and websites mentioned in this publication are not under our control. We are not responsible for
their contents or any other changes or updates to them. This magazine is fully independent and
not affiliated in any way with the companies mentioned herein.

Future plc is a public Chief executive Zillah Byng-Thorne


company quoted on the Non-executive chairman Richard Huntingford
London Stock Exchange Chief financial officer Penny Ladkin-Brand
(symbol: FUTR)
www.futureplc.com Tel +44 (0)1225 442 244

FROM THE MAKERS OF


The

Python

8
Contents
Get started with Python
Master the basics the right way
62 Embedding Python in C
Use Python code within your usual C
Create with Python
104 Make a Pac-Man-style game
16 50 essential commands 50 Create your own version of the arcade classic
The commands you need to know
108 Revisit arcade classic Pong
Create your very own version of one
Python essentials gaming’s pioneers
26 50 Python tips 112 Program a Space Invaders clone
Essential knowledge for Python users Make the basic Pivaders game

32 Code rock, paper, scissors 116 Add animation and sound


Put basic coding into action Enhance your Pivaders game
Work with Python
38 Program a hangman game 120 Create in Minecraft
Use Python to make the classic game 66 Python for professionals Code a Minesweeper game
Use your coding skills at work
44 Play poker dice 124 Pygame Zero
Test your luck and your coding 74 Make extensions for Kodi Turn your ideas into games
Enhance Kodi with this tutorial
50 Create a graphical interface 112
Add interface to your projects 80 Scientific computing
Get to grips with NumPy
56 Bring graphics to games
Add images to simple games 84 Instant messaging
Get chatting using Python

84 90 Bug-sweep your code


Keep your software projects safe

94 Copy: A cp to call your own


Develop a light version of cp in Python 3
120
98 Check your mail
Create a running list of incoming mail

100 Multitask with your Pi


Add multitasking to your Python code

6 The Python Book


142

Use Python with Pi


156 Build an automated news
machine
Pull down the latest news into a simple
presentation 26
160 Control a robotic arm

Web development
Build, hack and move a robotic arm

168 Hack a toy


Part 1: Embed four hacks into a toy

172 Hack a toy


50
132 Develop with Python
Why Python is perfect for the web Part 2: Bring your toy to life with code
Python
138 Create dynamic templates
Use Jinja, Flask and more

142 Build your own blog


tips
Begin developing your blog

146 Deliver content to your blog


Add content to your site

150 Enhance your blog 168


Complete your blog with add-ons R2D2 is © LucasFilm

The Python Book 7


Get started with Python

Get started
with
Python Always wanted to have a go at
programming? No more excuses,
because Python is the perfect way to get started!
P
ython is a great programming language for libraries to create a windowed application, or you could
both beginners and experts. It is designed with try something a little more ambitious like an app such
code readability in mind, making it an excellent as creating one using Python’s Bluetooth and Input
choice for beginners who are still getting used to libraries to capture the input from a USB keyboard and
various programming concepts. relay the input events to an Android phone.
The language is popular and has plenty of libraries For this guide we’re going to be using Python 2.x since
available, allowing programmers to get a lot done with that is the version that is most likely to be installed on your
relatively little code. Linux distribution.
You can make all kinds of applications in Python: In the following tutorials, you’ll learn how to create
you could use the Pygame framework to write popular games using Python programming. We’ll also
simple 2D games, you could use the GTK show you how to add sound and AI to these games.

8 The Python Book


Get started with Python

The Python Book 9


Get started with Python

Hello World Variables and data types


Let’s get stuck in, and what better way than with the A variable is a name in source code that is associated with an
programmer’s best friend, the ‘Hello World’ application! Start area in memory that you can use to store data, which is then
by opening a terminal. Its current working directory will be your called upon throughout the code. The data can be one of many
home directory. It’s probably a good idea to make a directory for types, including:
the files we’ll be creating in this tutorial, rather than having them
loose in your home directory. You can create a directory called
Python using the command mkdir Python. You’ll then want to Integer Stores whole numbers
change into that directory using the command cd Python.
The next step is to create an empty file using the command Float Stores decimal numbers
‘touch’ followed by the filename. Our expert used the command Boolean Can have a value of True or False
touch hello_world.py. The final and most important part of String Stores a collection of characters. “Hello
setting up the file is making it executable. This allows us to run World” is a string
code inside the hello_world.py file. We do this with the command
chmod +x hello_world.py. Now that we have our file set up, we
can go ahead and open it up in nano, or any text editor of your As well as these main data types, there are sequence types
choice. Gedit is a great editor with syntax highlighting support (technically, a string is a sequence type but is so commonly used
that should be available on any distribution. You’ll be able to we’ve classed it as a main data type):
install it using your package manager if you don’t have it already.
List Contains a collection of data in a specific order
$ mkdir Python
$ cd Python/ Tuple Contains a collection immutable data in a
specific order
$ touch hello_world.py
$ chmod +x hello_world.py
$ nano hello_world.py A tuple would be used for something like a co-ordinate,
containing an x and y value stored as a single variable, whereas
Our Hello World program is very simple, it only needs two lines. a list is typically used to store larger collections. The data
The first line begins with a ‘shebang’ (the symbol #! – also known stored in a tuple is immutable because you aren’t able to
as a hashbang) followed by the path to the Python interpreter. change values of individual elements in a tuple. However, you
The program loader uses this line to work out what the rest of the can do so in a list.
lines need to be interpreted with. If you’re running this in an IDE It will also be useful to know about Python’s dictionary
like IDLE, you don’t necessarily need to do this. type. A dictionary is a mapped data type. It stores data in
The code that is actually read by the Python interpreter is only key-value pairs. This means that you access values stored in
a single line. We’re passing the value Hello World to the print the dictionary using that value’s corresponding key, which is
function by placing it in brackets immediately after we’ve called different to how you would do it with a list. In a list, you would
the print function. Hello World is enclosed in quotation marks to access an element of the list using that element’s index (a
indicate that it is a literal value and should not be interpreted as number representing the element’s position in the list).
source code. As expected, the print function in Python prints any Let’s work on a program we can use to demonstrate how to
value that gets passed to it from the console. use variables and different data types. It’s worth noting at
You can save the changes you’ve just made to the file in nano this point that you don’t always have to specify data types
using the key combination Ctrl+O, followed by Enter. Use Ctrl+X in Python. Feel free to create this file in any editor you like.
to exit nano. Everything will work just fine as long as you remember to make
the file executable. We’re going to call ours variables.py.
#!/usr/bin/env python3
print(“Hello World”)

You can run the Hello World program by prefixing


“A variable is a name
its filename with ./ – in this case you’d type:
./hello_world.py.
in source code that is
$ ./hello_world.py
associated with an area in
Hello World memory that you can use to
TIP store data”
If you were using a graphical
editor such as Gedit, then
you would only have to do Interpreted vs compiled languages
the last step of making the
file executable. You should An interpreted language such as Python is one where the source
only have to mark the file as code is converted to machine code and then executed each time the
executable once. You can program runs. This is different from a compiled language such as C,
freely edit the file once it where the source code is only converted to machine code once – the
is executable. resulting machine code is then executed each time the program runs.

10 The Python Book


Get started with Python

#!/usr/bin/env python3

# We create a variable by writing the name of the variable we want followed


# by an equals sign, which is followed by the value we want to store in the
The following line creates an
integer variable called hello_int # variable. For example, the following line creates a variable called
with the # value of 21. Notice # hello_str, containing the string Hello World.
how it doesn’t need to go in
quotation marks hello_str = “Hello World”

hello_int = 21
The same principal is true of
Boolean values hello_bool = True

We create a tuple in the hello_tuple = (21, 32)


following way
hello_list = [“Hello,”, “this”, “is”, “a”, “list”]
And a list in this way

# This list now contains 5 strings. Notice that there are no spaces
# between these strings so if you were to join them up to make a sentence
# you’d have to add a space between each element.

hello_list = list()
hello_list.append(“Hello,”)
You could also create the hello_list.append(“this”)
same list in the following way
hello_list.append(“is”)
hello_list.append(“a”)
hello_list.append(“list”)

# The first line creates an empty list and the following lines use the append
# function of the list type to add elements to the list. This way of using a
# list isn’t really very useful when working with strings you know of in
# advance, but it can be useful when working with dynamic data such as user
# input. This list will overwrite the first list without any warning as we
# are using the same variable name as the previous list.
We might as well create a
dictionary while we’re at it. hello_dict = { “first_name” : “Liam”,
Notice how we’ve aligned the “last_name” : “Fraser”,
colons below to make the
code tidy “eye_colour” : “Blue” }

# Let’s access some elements inside our collections


# We’ll start by changing the value of the last string in our hello_list and
# add an exclamation mark to the end. The “list” string is the 5th element
# in the list. However, indexes in Python are zero-based, which means the
Notice that there will now be # first element has an index of 0.
two exclamation marks when
we print the element
print(hello_list[4])
hello_list[4] += “!”
# The above line is the same as
hello_list[4] = hello_list[4] + “!”
print(hello_list[4])
TIP
At this point, it’s worth
explaining that any text in
a Python file that follows
a # character will be
“Any text in a Python file that follows a #
ignored by the interpreter.
This is so you can write
comments in your code.
character will be ignored”
Get started with Python

print(str(hello_tuple[0]))
# We can’t change the value of those elements like we just did with the list
# Notice the use of the str function above to explicitly convert the integer
# value inside the tuple to a string before printing it.
Remember that tuples are
immutable, although we can print(hello_dict[“first_name”] + “ “ + hello_dict[“last_name”] + “ has “ +
access the elements of them
like so hello_dict[“eye_colour”] + “ eyes.”)

Let’s create a sentence using the


print(“{0} {1} has {2} eyes.”.format(hello_dict[“first_name”],
data in our hello_dict hello_dict[“last_name”],
hello_dict[“eye_colour”]))

A tidier way of doing this


would be to use Python’s
string formatter

Control structures Indentation in detail


In programming, a control structure is any kind of statement that
can change the path that the code execution takes. For example, a As previously mentioned, the level of indentation
control structure that decided to end the program if a number was dictates which statement a block of code belongs
less than 5 would look something like this: to. Indentation is mandatory in Python, whereas in
other languages, sets of braces are used to organise
code blocks. For this reason, it is essential that you
#!/usr/bin/env python3
use a consistent indentation style. Four spaces
are typically used to represent a single level of
import sys # Used for the sys.exit function
indentation in Python. You can use tabs, but tabs are
not well defined, especially if you happen to open a
int_condition = 5 file in more than one editor.

if int_condition < 6:
sys.exit(“int_condition must be >= 6”)
else: “The ‘for‘ loop uses
print(“int_condition was >= 6 - continuing”)

The path that the code takes will depend on the value of
a local copy, so
the integer int_condition. The code in the ‘if’ block will only be
executed if the condition is true. The import statement is used
changes in the loop
to load the Python system library; the latter provides the exit
function, allowing you to exit the program, printing an error
won’t affect the list”
message. Notice that indentation (in this case four spaces per
$ ./construct.py
indent) is used to indicate which statement a block of code
How many integers? acd
belongs to.
You must enter an integer
‘If’ statements are probably the most commonly used control
structures. Other control structures include:
More about a $ ./construct.py
• ‘For’ statements, which allow you to iterate over items in
Python list How many integers? 3
collections, or to repeat a piece of code a certain number
Please enter integer 1: t
A Python list is similar to an of times;
You must enter an integer
array in other languages. A • ‘While’ statements, a loop that continues while the condition
Please enter integer 1: 5
list (or tuple) in Python can is true.
contain data of multiple
Please enter integer 2: 2
We’re going to write a program that accepts user input from the
types, which is not usually Please enter integer 3: 6
user to demonstrate how control structures work. We’re calling it
the case with arrays in other Using a for loop
construct.py.
languages. For this reason, 5
we recommend that you The ‘for’ loop is using a local copy of the current value, which
2
only store data of the same means any changes inside the loop won’t make any changes
6
type in a list. This should affecting the list. On the other hand however, the ‘while’ loop is
almost always be the case
Using a while loop
directly accessing elements in the list, so you could change the list
anyway due to the nature of 5
there should you want to do so. We will talk about variable scope in
the way data in a list would 2
some more detail later on. The output from the above program is
be processed. 6
as follows:

12 The Python Book


#!/usr/bin/env python3

# We’re going to write a program that will ask the user to input an arbitrary
# number of integers, store them in a collection, and then demonstrate how the
# collection would be used with various control structures.
The number of integers we
want in the list
import sys # Used for the sys.exit function

target_int = raw_input(“How many integers? “)

# By now, the variable target_int contains a string representation of


# whatever the user typed. We need to try and convert that to an integer but
# be ready to # deal with the error if it’s not. Otherwise the program will
# crash.
try:
target_int = int(target_int)
except ValueError:
sys.exit(“You must enter an integer”)
A list to store the integers

ints = list()
These are used to keep track
of how many integers we
currently have count = 0

# Keep asking for an integer until we have the required number


while count < target_int:
new_int = raw_input(“Please enter integer {0}: “.format(count + 1))
isint = False
If the above succeeds then isint try:
will be set to true: isint =True
new_int = int(new_int)

except:
print(“You must enter an integer”)

# Only carry on if we have an integer. If not, we’ll loop again


# Notice below I use ==, which is different from =. The single equals is an
# assignment operator whereas the double equals is a comparison operator.

if isint == True:
# Add the integer to the collection
ints.append(new_int)
# Increment the count by 1
count += 1
By now, the user has given up or
we have a list filled with integers.
We can loop through these in a print(“Using a for loop”)
couple of ways. The first is with
a for loop for value in ints:
print(str(value))

The Python Book 13


Get started with Python
TIP
You can define defaults # Or with a while loop:
for variables if you want
to be able to call the
print(“Using a while loop”)
function without passing # We already have the total above, but knowing the len function is very
any variables through at # useful.
all. You do this by putting
total = len(ints)
an equals sign after
the variable name. For count = 0
example, you can do: while count < total:
def modify_string print(str(ints[count]))
(original=” Default
String”) count += 1

Functions and variable scope


Functions are used in programming to break processes down into smaller that they will have in the scope of the function, regardless of what
chunks. This often makes code much easier to read. Functions can also be the variable that’s passed to the function is called. Let’s see this
reusable if designed in a certain way. Functions can have variables passed in action.
to them. Variables in Python are always passed by value, which means that The output from the program opposite is as follows:
a copy of the variable is passed to the function that is only valid in the scope
of the function. Any changes made to the original variable inside the function
will be discarded. However, functions can also return values, so this isn’t “Functions are used in
an issue. Functions are defined with the keyword def, followed by the
name of the function. Any variables that can be passed through are put in
brackets following the function’s name. Multiple variables are separated by
programming to break
commas. The names given to the variables in these brackets are the ones processes down in”

#!/usr/bin/env python3

# Below is a function called modify_string, which accepts a variable


# that will be called original in the scope of the function. Anything
# indented with 4 spaces under the function definition is in the
# scope.
def modify_string(original):
original += “ that has been modified.”
# At the moment, only the local copy of this string has been modified

def modify_string_return(original):
original += “ that has been modified.”
# However, we can return our local copy to the caller. The function
# ends as soon as the return statement is used, regardless of where it
# is in the function.
We are now outside of return original
the scope of the modify_
string function, as we
have reduced the level
of indentation test_string = “This is a test string”

The test string won’t be modify_string(test_string)


changed in this code print(test_string)

test_string = modify_string_return(test_string)
print(test_string)

However, we can call the # The function’s return value is stored in the variable test string,
function like this # overwriting the original and therefore changing the value that is
# printed.

14 The Python Book


Get started with Python
$ ./functions_and_scope.py Comparison operators
This is a test string The common comparison operators available in Python include:
This is a test string that has been modified.
< strictly less than
Scope is an important thing to get the hang of, otherwise it can get you <= less than or equal
into some bad habits. Let’s write a quick program to demonstrate this. It’s
> strictly greater than
going to have a Boolean variable called cont, which will decide if a number
will be assigned to a variable in an ‘if’ statement. However, the variable >= greater than or equal
hasn’t been defined anywhere apart from in the scope of the ‘if’ statement. == equal
We’ll finish off by trying to print the variable.
!= not equal
#!/usr/bin/env python3
cont = False
if cont: what a variable does. The other thing that goes with this is to always
var = 1234 comment your code. This will help anyone else who reads your code,
print(var) and yourself in the future. It’s also useful to put a brief summary at
the top of a code file describing what the application does, or a part of
In the section of code above, Python will convert the integer to a string the application if it’s made up of multiple files.
before printing it. However, it’s always a good idea to explicitly convert
things to strings – especially when it comes to concatenating strings Summary
together. If you try to use the + operator on a string and an integer, there This article should have introduced you to the basics of programming
will be an error because it’s not explicitly clear what needs to happen. in Python. Hopefully you are getting used to the syntax, indentation
The + operator would usually add two integers together. Having said that, and general look and feel of a Python program. The next step is
Python’s string formatter that we demonstrated earlier is a cleaner way of to learn how to come up with a problem that you want to solve, and
doing that. Can you see the problem? Var has only been defined in the scope break it down into small enough steps that you can implement in a
of the ‘if’ statement. This means that we get a very nasty error when we try programming language.
to access var. Google, or any other search engine, is very helpful. If you are stuck
with anything, or have an error message you can’t work out how to
$ ./scope.py fix, stick it into Google and you should be a lot closer to solving your
Traceback (most recent call last): problem. For example, if we Google ‘play mp3 file with python’, the
File “./scope.py”, line 8, in <module> first link takes us to a Stack Overflow thread with a bunch of useful
print(var) replies. Don’t be afraid to get stuck in – the real fun of programming is
NameError: name ‘var’ is not defined solving problems one manageable chunk at a time.

If cont is set to True, then the variable will be created and we can access Happy programming!
it just fine. However, this is a bad way to do things. The correct way is to
initialise the variable outside of the scope of the ‘if’ statement.

#!/usr/bin/env python3

cont = False

var = 0
if cont:
var = 1234

if var != 0:
print(var)

The variable var is defined in a wider scope than the ‘if’ statement, and
can still be accessed by the ‘if’ statement. Any changes made to var inside
the ‘if’ statement are changing the variable defined in the larger scope.
This example doesn’t really do anything useful apart from illustrate the
potential problem, but the worst-case scenario has gone from the program
crashing to printing a zero. Even that doesn’t happen because we’ve added
an extra construct to test the value of var before printing it.

Coding style
It’s worth taking a little time to talk about coding style. It’s simple to write
tidy code. The key is consistency. For example, you should always name
your variables in the same manner. It doesn’t matter if you want to use
camelCase or use underscores as we have. One crucial thing is to use
self-documenting identifiers for variables. You shouldn’t have to guess

The Python Book 15


Another Random Scribd Document
with Unrelated Content
Näin nyt mietin: hattu tuo
Mulle varman onnen suo,
Kun se päätäin kaunistaa,
Sydämein myös rauhoittaa.

6.

Saakur soikoon, huudahdin,


Se mun saada pitääkin!
Waan kun ostetuks sen sain,
Rauh' ei tullut rintahain.

Heikki. Kas niin, johan nyt olet kovin syntiin paatunut! Enpä olisi
voinut luullakaan, sinun vielä niin pitkälle joutuneen. Nyt en enää
tahdokaan juurtaa sanojani sinuun, sillä kun himo on jo kerran niin
suureksi paisunut, että — —

Niilo. Kyllä arvaan, mitä aiot sanoa.

Heikki. Mistä sen arvaat?

Niilo. Minä olen lukenut tuon saarnasi Granfeltin siveysopista. Kas,


tässä; (ottaa hatun päästänsä ja antaa sen hänelle) ota veikkoseni
tämäkin ja pane se toisten joukkoon ja käske pojan tuoda minulle
matkalakkini.

Heikki. Oh-hoh! Nyt meillä on jo kokonaista kolmetoista hattua.


Kun asetan ne kaikki päälletysten pöydälle, niin syntyypä niistä koko
tonttu; yksistään jo tämäkin voisi pimeässä peljästyttää ihmisen
kuoliaaksi.

(Heikki menee.)
KUUDES KOHTAUS.

Niilo yksinään.

Niilo. Sitä pahempi, että Heikki on oikeassa. Jopa alan hävetä. Eikä
olekaan mikään ihme, ettei Leena pidä minusta, kun näkee miten
narrimainen minä olen. Joka kerran kun menen puotiin, saadakseni
kohdata häntä, menee hän matkaansa ja jättää minun isänsä kanssa
puhelemaan. Näin jäätyäni pulaan, on minun täytynyt joka kerta
ostaa itselleni hattu, kun en ole rohennut oikeaa asiatani julkaista,
sillä enhän voi asiatta mennä vieraiden luo. Luultavasti nauraa Leena
minua siitä. Jos olisin miehuudella ja tarkoitukseni toteuttamiseen
turvautumalla itseäni käyttänyt, niin olisin varmaankin jo kauvan
aikaa sitten saanut tilaisuuden aukaista sydämeni hänelle,
joutumattani pilkan-alaiseksi näiden kaikkien hattujen ostamisesta.
Waan rakkaus on kummallinen sikiö; se syntyy sekä elää kahdella
tavalla samalla kertaa. Ajan huviksi se minussa syntyi, vaan kohtapa
poltin itseni, ikäänkuin perho, siinä liekissä, jonka ympärillä häärin.
Ihmekö siis, että Leena katsoo minuun samoilla silmin kuin ensi
alussa tietämättä, ettei rakkauteni enää olekaan pelkkää mairetta,
mutta sydämeni hartainta toivoa. Niin, niin! tästä silmänräpäyksestä
alkaen tahdon muuttaa tapani; ja vielä parempi olisi, jos minulle
onnistuisi sammuttaa se vähäinenkin lemmen liekki, jonka kenties
olen häneen sytyttänyt. Saakurin hatut! Pahuus vieköön, etten ole
voinut olla rauhoillani!

SEITSEMÄS KOHTAUS.

Niilo. Tikka.
Tikka. Kuulkaa herra, rohkenenko kysyä, joko olette saaneet
vekselinne ja olisiko teidän mahdollista auttaa minua rahanpulasta?

Niilo. En, hyvä isäntä, en toden todellakaan ole sitä vielä saanut.

Tikka. Ettekö? Sepä nyt vasta oli saakeli! Ties Jumala, mitä minun
tulee tehdä. Tänäin täytyy minun maksaa suuri rahasumma
tavaroista. Olenpa mennyt mies, jos ette minua pulasta päästä.
(Itkee.) Ah, herra Heimo! Perkele vieköön, miten väärin te olette
tehneet, kun olette saattaneet minun miesparan tämmöiseen
helvetinmoiseen piinaan.

Niilo. Woi, mikä onnettomuus! Nyt hän itkee! Hävetkäätte toki,


herra Tikka! Eihän miehen sovi itkeä noin vähänpätöisestä asiasta,
akkojen työtähän se on. Rahanne kyllä saatte, se on tietty se.

Tikka. Woipi olla mahdollista, mutta, saakuri vieköön, eipä olekaan


samaa, jos minä saan ne tänäin tahi vasta vuoden jälkeen.
Näinköhän kuitenkin voisitte antaa minulle edes jonkinmoista
takausta.

Niilo. Mitä takausta minä voisin teille hankkia, koska olen umpi
vieras täällä kaupungissa? Paljoa helpompi on minun hankkia teille
rahaa, kuin takausta.

Tikka. Sitä parempi, maksakaa siis velkanne rahassa.

Niilo. Kyllä te saatte, sanon minä vielä kerran, vaan malttakaa toki
siksi, kunnes itse saan rahaa.

Tikka. Kas, sepä vasta oli lohdutusta se!


KAHDEKSAS KOHTAUS.

Niilo. Tikka. Heikki tulee, kantaen selässään kolmeatoista


hattua ja seitsemää lakkia, jotka kaikki ovat sidotut
kiehkuraksi yhteen lankaan.

Heikki. Niilo, tässä on matkalakkisi, jota halusit.

Niilo (ottaa hatut). Mitä tämä nyt taas merkitsee?

Heikki. Herra Jumala! pitäähän meidän ajanhuviksemme tehdä tiliä


rikkauksistamme. Sentähden tahdon minä näyttää sinulle tätä
kaunista, uudenmoista kiehkuraa. Katsopas vaan, valkea hattu on
keskellä, toiset kaksitoista ikäänkuin apostolit sen ympärillä ja
seitsemän lakkia niiden välillä, niin että tämä kokonainen
harakanpelotus olisi sitä komeampi. Sääli vaan, ettei ne ole vanhain
akkojen yömyssyjä.

Tikka. Mitä kummaa tämä merkitsee?

Heikki. Minä selitän sen teille. Kuulkaa isäntä, aikomuksemme on


ripustaa tämä koristus teidän huoneenne lakeen kynttiläkruunun
asemesta, koska teidän kammarinne näyttävät melkein kaikki olevan
jotensakin tyhjät huonekaluista.

Niilo (puoliääneensä Tikalle). Näettehän, onhan minulla koko


joukko hattumaakarinteoksia. Sitä paitsi olen keksinyt itse
uudenmuotisen hatun, vaan se ei tähän kuulu; pää-asia on, että nuo
hatut ovat kaikki minun omani. Te pyysitte taanoin takausta ruuasta
ja kortteerista. Minä annan teille nämät hatut. Sen te kyllä hyvin
käsitätte, että ne maksavat paljoa enemmän koin mitä minä olen
teille rätinkinne mukaan velkaa. Tässä on kolmetoista hattua ja
seitsemän lakkia; lukekaatte! — No, mitä arvelette? — Wai
tahdotteko ostaa ne minulta, niin sitten suoritan teille velkani.

20

Tikka. Oikein on; kolmetoista hattua ja seitsemän lakkia, kaikki


aivan uusia, ikäänkuin hattumaakarin puodista vasta lähteneitä.
Waan en minä niitä juuri ostaa tahdo, sillä Jumal' auta en tiedä
minne ne panisin. Mutta pantiksi, takaukseksi, kas, se toiselta
korvaan soi. Silloin otan ne kiitollisuudella vastaan ja talletan kunnes
vekselinne saatte.

Niilo. Minusta olisi parempi, jos te ne ostaisitte.

Tikka. Kyllähän siitä vielä ehdimme tarkemmin puhua.

Niilo. Herra kestikievari! Ottakaa siis nämät hatut ja viekää ne


huoneesenne.

Heikki. Mitkä syntiin viettää ihmisraukkaa, hitto ne viimein


suuhunsa haukkaa.

(Lauletaan kuin: Janon juoma sammuttaa.)

1.

Tikka.

Kiittää nöyrimmästi saan.


Älkää vihastuko vaan
Minuun raukkahan!
Weijareita täällä käy,
Joill' ei sivistystä näy
Juuri olevan.

2.

Niilo.

Teill' on oikein, kyllä saa


Nyky-aikaan kavattaa
Joka ihminen;
Muuten helpost' tapahtua,
Ettei ruokaa ees saa suu.

Tikka.

Oikein puhutten.

3.

Heikki (Niilolle).

Hattujoukon kummoisen
Söimme hintaan kalliisen!
Synti on se suur.
Saanko hälle sanoa:
"Kiitoksia ruuasta",
Waikk' ei kestäs juur.

4.

Niilo ja Heikki (Tikalle).

Hattujoukon kummoisen
Söimme hintaan kalliisen!
Synti on se suur.
Saamme teille sanoa:
Kiitoksia ruuasta.

Tikka.

Kiittämist' ei juur.

(Hän aukaisee oven Niilolle ja Heikille, jotka menevät sisään.)

YHDEKSÄS KOHTAUS.

Tikka. Renki (kirje kädessä). Sopanen.

Renki (kovin hengistyksissään). Herra kauppias Ilja Jaakkovitsa


Sopanen! Ilja Jaakkovitsa Sopanen! eikö hän ole täällä.

Tikka. Mikä hätä nyt?

Renki. Postin kanssa on tullut kirje herra kauppias Ilja Jaakkovitsa


Sopaselle ja sillä on kiiru. Hänen rouvansa, Repekka Jaakkovitsa,
sanoi, että hän on täällä.

Tikka. Kyllä hän on täällä. Anna kirje minulle, niin minä vien sen
kiireemmiten hänelle.

Renki. En tohdi, sillä minun itseni täytyy se antaa hänelle.

Tikka (Huutaa ravintolaan). Ilja Jaakkovits! täällä on yksi mies,


joka tahtoo puhua teidän kanssanne.

(Sopanen tulee.)
Renki. Saan sanoa paljon terveisiä rouvalta ja tässä on teille kirje,
joka juuri nyt postin kanssa tuli.

Tikka. Näinköhän tuo sanoma tuonee mulle ravintolan vieraita?

Sopanen. Sano rouvalle terveisiä paljon ja että minä tulen


illalliseksi kotiin.

Tikka. No, mitähän tuossa kirjeessä nyt on?

Sopanen (lukee). "Korkiast kunnioitettu herra Ilja Jaakkovits


Sopanen, Rehellinen ja kuulusa kupietsa Käksalmes; swojei rukuu",
se on suomeksi, hänen omaan käteensä, eikä kenenkään muun;
"skooro, skooro", se tahtoo sanoa, oikein välein. (Aukaisee kirjeen.)
"Systerpek heinäkuun 1 päivä." — Ah, se on kirjeenvaihtajaltani
Systerpekistä. Hän kirjoittaa minulle aina tärkeimmät uutiset sieltä.
(Lukee itsekseen.) Herra Jumala, mitä näen! Auttakaa! auttakaa,
minua pyörryttää! Minä kuolen!

(Hän on lankeamassa maahan, Tikka ottaa kiinni ja vie


hänet penkille kestikievarihuoneen vierellä.)

Tikka. Woi Jumalani! tähän tarvitaan kiiruisaa apua!

(Töytää hattumaakariu ovelle ja huutaa sisälle.)

Hajuvettä! hajuvettä! Wälskäri! Wälskäri! — Ah, toden totta, nytpä


erhetyin pelkästä peljästymisestä. (Huutaa omasta ovestaan sisälle.)
Hajuvettä! Wälskäri! Wäliin! Ilja Jaakkovits laulaa viimeistä virttänsä.

KUUDES KOHTAUS.
Entiset. Wiljakainen. Miettinen. Ravintolanvieraita ja
palvelijoita. Miettisellä on vielä sanomalehti kädessä.

Kaikki. Mitä nyt? mitä nyt?

Tikka. Hajuvettä! Hajuvettä!

(Palvelijat juoksevat sinne tänne.)

Sopanen (alkaa tointua). En minä tahdo hajuvettä. Antakaa


minulle ryyppy viinaa, se on paljoa parempi.

Tikka. Tuokaa kuminaviinaa! Ei, tuokaa tavallista paloviinaa!

(Sopaselle tuodaan ryyppy viinaa.)

Sopanen (juotuansa). Ah, kuinka se helpotti!

(Nousee.)

Miettinen. Oletteko saaneet pahoja sanomia?

Tikka. Minä otan osaa suruunne.

Sopanen. Ei, ei sinnepäinkään. Minä pyörryin vaan pelkästä ilosta.

Kaikki. Ilostako?

Sopanen (mieleltään liikutettuna). Oi, ystävä kullat! Miten


saattaisin virkkaa teille tunteeni? Enhän voi puhuakaan! Ko-ko-ko-ko-
komersiraati Petrovitsa tulee Käkisalmeen.

Kaikki. Tuleeko?

Sopanen. Hä-hä-hä-hän e-ei tule.


Kaikki. Eikö?

Sopanen. Hän o-o-o-on jo tullut.

Kaikki. Onko mahdollista?

Sopanen (antaa Tikalle kirjeen). Lukekaa itse, Kaarl Ivaanovitsa;


minä olen niin pyörryksissä, etten ainoatakaan puustainta tunne.

Tikka. "Ässä", y sanoo y; s, y, s, syster; p sanoo p, e, k; syster


pekko. Lukekaa te Matvei Jekaterinovitsa. Kyllähän minäkin lukea
osaisin, vaan en enää rillittä näe.

Miettinen (lukee.) "Systerpek heinäkuun 1 päivä. Korkiast


kunnioitettavaine herra kupietsa. Nyt mie lähestyn pännää ja läkkii,
jolla saan kiruttaa et yhtä tärkiä kui suurki uutine on ilmestynt. Mie
saan ilmottaa et komersiraato Petrovitsa on tult ja lähtöö täs
silmäräpäykses Käksalmee, mis hää ottaa korttierii Kaarl Iwanovitsan
luona."

Tikka. Minun luonani! Mitä kuulen minä?

Miettinen (jatkaa lukua). "Hää, näättähä työ, kulkoo maata


myöten, minkä perustuksen syy on se, ettei massina voi kannattaa
nii paljo kultaa ja hopiaa, ku hänel on keral, kosk yhen posthevosen
pittää juossa 40 kertaa ies takasii. Hää reisuaa Sallaa ja vaik hää ei
oo tahtont ilmottaa issiää, nii on hää kuiteki tult tunnetuks siit
kultakasast ja erinomaisest antamisestaa, mil hää antaa joka paikas
kultaa. Ei hää oo antant köyhil, mut hää auttaa hantvärkkärilöitä,
kupetsii, keskievariloita ja kaikkii sil taval, et hää maksaa paljo
enemmä ku mitä maksaa. Nii esmerkiks anto hää kymmenä kolikkoo
yhest vuraskust."
Wiljakainen. Saakuri soi, jospa olisi sen minulta ostanut.

Miettinen (jatkaa lukua). "— ja tääl Systerpekis polttiniekan


veslasist, kuha sai vaan Rajajoon vettä, vaik sekkii olj sekasta ja
mutasta. Hää ilossi meit läsnä-olollaa vaa puolj tuntii, paha kyl; ja
vaik hää tulj keskel päivää, nii ei kuitekaa savotan ikkunois olt
kynttilöitä, sil kosk ei olt pimiä, nii ei myö tahottu tehhä hänel
liminatsii; hää tuljki niiku harakka, ettei kukkaa tietänt, kävel ja
katsel, jaa-ab, mie voi sannoo, niiku harakka, ja viel sukkelammii
läks hää pois, mie voi sannoo, niiku haukka kananpojan perrää. Miul
ei oo aikaa ennää kiruttaa teil, mie vaa tahoin suurimas kiiruuves tää
kautta ilmottaa teil, et komersiraato Petrovitsa tulloo Käksalmee.
Pyyetään suurimal nöyryyvel antamaa anteiks, ettei kirutushiekka oo
kuivant ja et kirutusläkki, jota sen pääl kaasin, on viel märkää" —
(katsoo tarkemmin kirjettä) eihän tässä näy hiekkaa olevankaan ja
puustaimet ovat kuitenkin jo kuivat ja selvät — (lukee) "mut miu
pittää laittaa se nii kostian ku se on. Ei mittää muuta täl kertaa ku
paljo terveisii; sitä toivottaa teil teijän liukas pismoiniekka Antrei
Simenowitsa, Prikassikan pomosniekka Systerpekin savotas." — No
ystäväni, mitä itse asiasta arvelette?

Tikka. Komersiraati tahtoo tulla minun luokseni kortteriin! Ja minä,


kolhopää, en ole voinut tuota aavistaakaan. Nopeaan! Joutuun!
Laittakaa kaikki kuntoon! Siivotkaa huoneet komersiraatia varten,
jopa herra Heimonkin huone; hän voipi siksi ajaksi muuttaa kyökkiin.
Minä itse asun sillä ajalla vaikka kananhäkissä, tai navetassa, tai
missä tahansa. Joutuun, joutuun! ei ole aikaa joutilaisna virua. Nytpä
juolahti hyvin tärkeä seikka mieleeni! Pankaa kynttilöitä kaikille
ikkunoille palamaan; me tahdomme ottaa häntä vastaan
komeammin kuin Systerpekkiläiset. Kuolkaa, Iivana Mihailovitsa,
teidänkin pitää panna pari kolme kynttilää hattujen sijaan ikkunalle.
Joutuun, joutuun!

(Wieraat ja palvelijat menevät.)

Miettinen. Lähdenpä kiirummiten kotiin pukeumaan raatimiehen


virkapukuuni. Jospa soitattaisin avissionikelloa kaduilla, niin kenties
ehtisin vielä saada porvariston kokoon ennenkuin hän tulee. Ehkä
lienee kuitenkin parempi, jos kokoon itse kaikki ne, jotka kadulla
kohtaan.

(Menee.)

Sopanen. Woi, ottakaa minut mukaanne! Taluttakaa minua! Tuskin


voin enää jaloillani pysyä, sitä vähemmin avutta kotiin saakka käydä.

(Menee.)

YHDESTOISTA KOHTAUS.

Tikka. Wiljakainen. Heimo ja hänen Ajorenkinsä, joka kantaa


matkatakkia ja vähäistä matkalaukkua.

Heimo. Tässäkö kestikievarihuone on?

Renki. Siinä se on, ja tuossapa näyttää itse isäntäkin olevan.

Heimo. Woisinko saada hyyrylle yhden kammarin, herra isäntä?

Tikka. Kammarinko? — Kuka te olette?

Heimo. Mitä se teihin tulee? Minä olen, niinkuin näette,


matkustavainen Helsingistä, ja tahdon kestikievarista huonetta.
Tikka. Wai niin! mutta älkää pahaksi panko, minulla ei ole tilaa;
koko huoneeni olen hyyrännyt eräälle korkeasukuiselle
matkustavaiselle, jota juuri tällä silmänräpäyksellä odotetaan tänne
tulevaksi.

Heimo. Niin vain! minun tulee siis palata takaisin. Waan saanko
kysyä, kuka se korkeasukuinen matkustavainen on, jollei hän vaan
kulje nimeänsä ilmoittamatta?

Tikka. Kyllä hän niin tekee, mutta meidän kesken puhuttu, hän on
komersiraati Wasili Petravitsa.

Heimo. Mitä hänellä täällä on tekemistä?

Tikka. Suokaa anteeksi, mutta kylläpä näytättekin olevan vasta


syntynyt vasikka! Ettekö edes Moskovan Wietomostia lue? Ha, ha,
ha! Kuin tuhmat nuo Helsinkiläiset ovatkin. Ha, ha, ha!

Heimo. Mutta saanko luvan kysyä, asuuko huoneissanne eräs Niilo


Heimo niminen herra Helsingistä?

Tikka. Sitä pahempi, sillä hän täyttää vaan kammarini ilman


mitään hyötyä minulle näin kovina aikoina. Kunpahan vaan maksaisi
minulle rätinkinsä, niin saisi mennä vaikka männikköön. Waan eihän
minulla ole aikaa tässä teidän kanssa maksutta lörpötellä. Hyvästi te
näsäviisas Helsinkiläinen!

(Menee.)

Wiljakainen. Kuulkaa herra, kyllä se on aivan totta mitä hän puhui.


Me olemme saaneet sanoman hänen tulostansa. Hän on ostanut
matkallansa lakin ja maksanut siitä kymmenen ruplaa. Minun täytyy
tosiaankin mennä puotiini ja panna kaikki hatut järjestykseen,
kenties hän ostaa minulta semmoisen.

(Aikoo mennä.)

Heimo. Jumala ties, mitkä pidot täällä syntynevätkään.


(Wiljakaiselle.) Kuulkaapa pari sanaa, ennenkuin menette pois.
Olisitteko niin hyvä ja sanoisitte minulle mistä täällä kaupungissa
saisin kortteerin?

Wiljakainen. Täällä ei ole muuta sosieteettihuonetta kuin


kestikievari. Waan kuulkaa, jos tahdotte tulla minun katokseni alle,
niin kyllähän hyvä sopu tilaa antaa.

Heimo. Aivan mielelläni, vaan sallikaa minun sitten palkita


vaivanne.

Wiljakainen. No, kyllähän siitä sitten sovimme. (Rengille.) Wie


herran kapineet sisään! (Renki menee sisälle.) Olkaa niin hyvä ja
odotelkaa hetkisen aikaa puodissani, niin on kammari kohta valmis.
(Huutaa): Leena!

Heimo. Kiitoksia paljon! Ehkä minä istun tässä penkillä niin


kauvan.

(Istahtaa puodin vierellä olevalle penkille.)

Wiljakainen. Miten vaan itse tahdotte. (Huutaa): Leena!

(Menee puntiinsa. Renki tulee sieltä takaisin ja lähtee pois.)

KAHDESTOISTA KOHTAUS.
Heimo yksinään.

Heimo (nousee penkiltä ja tulee kuulijoita lähemmä). Siis asuu


minun veljeni poika tuossa eikä ole maksanut hyyriänsä.
Sanotaanpa: kellä on paljon lapsia, sillä on murhettakin; vaan yhtä
hyvin voisi sanoa, kellä on veljen poikia, sillä pitää oleman hyvä
kukkarokin. Niilon kirje on tehnyt minut hyvin levottomaksi;
sentähdenpä arvelin, ehkä olisi parempi, jos itse lähtisin matkaan
hänen tilaansa tiedustelemaan. Ja sen olenkin nyt tehnyt. Hän
kirjoittaa rakastuneensa erääsen neitoon ja tämän tähden
tuhlanneensa kaikki matkarahat, mutta hän ei virka mitään siitä,
mihin tarpeisin hän on ne tuhlannut ja kuka hänen hempukansa on.
Minun itseni täytyy kaikkea tuota omin silmin nähdä.

(Sävel: Kesäkuulla lämpimällä.)

1.

Setäin unhottaneen luullaan, trallala


Niinkuin sanottavan kuullaan, trallala
Sen, ett' hekin riemuin joi,
Lemmetärtä jumaloi, trallala.

2.

Wanhoiks pojiks tultuansa,


Kieltävät he nuorta kansaa
Nauttimasta pulloistaan,
Lempimästä toisiaan.

3.
Olen setä toisellainen,
Hyvin muistan, kun mä vainen
Jouduin lemmen pauloihin,
Pyörrypäisnä kuljeksin.

4.

En sit' aikaa tahdo kiittää,


Sen vuoks aion rakkaat liittää.
Setä olen mimmoinen,
Kyllä loppu näyttää sen. Trallala.

Waan mikä kummallinen ukon könttyrä tuolla tulee? Luulenpa,


totta
Jumal' auta, että tuo Petrovitsalainen komediia jo alkaa.

KOLMASTOISTA KOHTAUS.

Heimo. Wasili Petrovitsa, hopeahetuleinen nuttu päällä,


oksainen katajasauva kädessä ja naisten yömyssy päässä.

Wasili (pudistaa sauvaa kulissien taakse.) A kah! kyllähän miä,


tottaah Jumalait, teillen kunnoh kyytii näytään, soatanan
katuuhkoiraat! Ettenköpähän työ, sen rumahiset, soata hiljahisen
miehen käytää rauhaas. — Ahpa, pyhä veli, näinköpähän tahtoisiit
minuul ollaah avuullinen. Noipa katuuhkoiraat viskoivat heposen
kakaroit mua vasten kuonoo.

[Kun Laukkuryssät Suomalaisten keskuudessa eivät koskaan puhu


omaa kielimurrettansa, vaan melskaavat tavallista suomea sekoittaen
kaikkia murteita yhteen, niin olemme tässäkin tehneet samoin
katsomatta siihen, ettei semmoinen kirjoitustapa näytelmissä ole
esteetillistä.]

Heimo. Mitä? Näenkö oikein? Olethan Wasili Petrovitsa


Aunuksesta!

Wasili. Kutama? Olooko taa mahoollist? Oloottenkohan hierraah


Heimoo Hielsinkist, jonkapa kanssah soan pakissa muuan kunniaan
sanah? A kas, olommapahan myö usehin kauppoa tehnehet
keskenäämmä.

Heimo. Ja jos oikein muistan, niin on minun vielä kymmenen


ruplaa sinulta saamista.

Wasili. Kah pustekkii; kyllähpähän työ nyt muistaatten toin aivaan


vääriin.

Heimo. Enpä ollenkaan, sillä onhan minulla velkakirja.

Wasili. Seälipähän mua! Kustapahan miä nyt noi tienkaat ottaisim.


A kas oloonhan markaaton miesi. Eipä minuul oo penniikänä. Kah,
kaikki oloo männyh.

Heimo. No, mitä sinulla sitten täällä on tekemistä?

Wasili. A Herraah Jumalaa! Wieläpähän miä tahtoon muuan kertah


Pitterii nähtää, ennenköpähän kuoloo, as jospahan siellää olis
mahoollist soataa viel parkymmentö markkoa. Oloonpahan käynyh
jalvoin taat pitkeä matkoa hamast Arinkankelist soakka Sortahvalaan
kaut ja poikkeisiin tänneh Käkihsalmieen; Jumalait, kah, oloopahan
toi aivan tottah. Moallapa miä tein kauppoa taloonpoikiin kanssah,
jotkapa olooh mua kohtoan kuvaat mieheet, jopahan tavasta
piilottuivat mua, kuinpa nimitmiesi tuli läheellen taloo, niinkuin
esmierkiiks Joakkimoas. Taloon tytyillen kaupihtiin miä toas
nuppiniekloi i vanhoillen mutsuillen markkulmii, kanviärttii,
jernastestamenttii, soatanan pierkoa, neuluu, naskalii, turkinpippurii i
nuin etespiein.

Heimo. Taisitpa tehdä hyviäkin kauppoja?

Wasili. Luuliinpahan, kuin partaan syyhys, kaupaat rotsii, a kuin ei


rotsinutkana. Huonoot kaupaat sain. Enpähän petakkoakana oo
soanuh. Hiitoolassapa mua ryöstettihin, kaikkipa laukku vietihin.

Heimo. Waan mitä tuo pukusi merkitsee?

Wasili. Kiessuus mua varjelkuon voan ei ketäkänä muitaa; kas,


kaikkipahan vanhaat voatteheet ovat poisi ryösteetyt. Taanpa
jentriikän ostiin Pitteris olessan ereält komentiialt, joka suurehes
tiaahteris siellää sanoi olleheen poliismaisteri "Revissuori"
tiaahterikappalehtaas, jossapa näytetäh kutenpa virkaamieheet
ottoavat lahjoi vastahan.

Heimo. Käypikö poliisimestarikin siellä naisten yömyssy päässä?

Wasili. A piäppähän suus kiini, kas miäpä tuimiistuun! Niäs, ilmaa


puhaalti lakkiin, minuun istuessan taloonpoiaan rattahil. Toipahan oli
rumaah ilmati i olipa lakkiin uus, kunka juur olin miä Sortahvalaasta
ostaanu. Ah, voinenpahan miä vannoo teillen, ettäpä minuul olooh
tapahtuunu paljon kovii onnii taal perkeleheen matkaal; noistpa
voisih syntyvä kokoh kirjaa. Kuuleppahan, pyhä veli, jospa
korvaanneh sitämä siiteä, kas, miäpä kerroon teillen kaikki, koin
kerroonkin.

(Lauletaan kuin: Jussi meni kaupunkiin.)


1.

Hiitolahan sammoisiin
I mieliin, kieliin hoastoin,
Piruun pierkoa kaupihtiin,
I mutsuilt tienkaat roastoin.
Taloonmies,
Sorttah ties!
Pihkaaks pierkaan keksih;
Tuimiistuip' heän, Herrah Kies!
Taast niin tuliseksih.

2.

Kylläh koitiin selitteä:


Olooh köyhii vuosii,
Piruu myös syö jäkeleä,
On pierkai toistaa kuosii.
A kas, heän
Syömesseän
Kostoo mullen kantoi,
Nimitmieheel kielimeän
Mutsuns juossaa antoi.

3.

A kun yölläh roikkosiin,


Tul nimitmiesi luoksi,
Miä kun juurih heräisiin,
Niin laukkuun luo toi juoksi.
Rauhaassain
Rahillain
Lojuin taahan asti,
Kaapasinpa karkkuun vain
Oikein nupiasti.

4.

Juoksiin mehteän nupijoan


Miä ilki-alastonnah,
Peällän olih särkki voan
Muut kaikki sai toi konnah,
Onneksem
Kanssan vein
Höysyt i taan takin;
Miä kun siitten mattoa tein,
Tuulispie vei lakin.

5.

Heimo.

Onnes kova ollut on,


Käyt kovin sääliks mulle.
Kun nyt olet lakiton.
Niin hattu hanki sulle.
Niitä saa,
Näen ma,
Hattumaakarilta.
Hattu pukus kaunistaa,
Näytät bojarilta.

6.
Wasili.

Kah, kunp' ei oo penn',


Niin kuk toin ostoa jaksaa.

Heimo.

Siitä mitä vaatii hän,


Sen tahdon minä maksaa.

Wasili.

Walheet lie?

Heimo.

Tästä sie
Saat kakskymment' markkaa

Wasili.

Kuvaan mies heän, soakulj vie!


Auttoa Wasil parkkaa.

A kas, toi herraah oloo aikaa molotsaa, a heän on molotsaa. Woan


kuulkoattenpahan, kunhan uotaatten kotvaasen aikoa, kylläpähän
miä vielää muistaan.

Heimo. Suorittaako muistat? Sitä en juuri luule.

Wasili. A kuin muistaan.

Heimo. Mitäpä tuosta. Mutta oletko ennen ollut Käkisalmessa?

You might also like