Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
100% found this document useful (6 votes)
19 views

(eBook PDF) Practice of Computing Using Python, The 3rd Editioninstant download

The document is a promotional listing for the eBook 'Practice of Computing Using Python, 3rd Edition' along with links to download it and other related eBooks. It includes a table of contents highlighting various chapters and topics covered in the book, such as programming basics, data structures, and algorithms. The document also emphasizes the importance of Python in computer science education.

Uploaded by

lekenseuci23
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (6 votes)
19 views

(eBook PDF) Practice of Computing Using Python, The 3rd Editioninstant download

The document is a promotional listing for the eBook 'Practice of Computing Using Python, 3rd Edition' along with links to download it and other related eBooks. It includes a table of contents highlighting various chapters and topics covered in the book, such as programming basics, data structures, and algorithms. The document also emphasizes the importance of Python in computer science education.

Uploaded by

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

(eBook PDF) Practice of Computing Using Python,

The 3rd Edition pdf download

https://ebooksecure.com/product/ebook-pdf-practice-of-computing-
using-python-the-3rd-edition/

Download more ebook from https://ebooksecure.com


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

(eBook PDF) Introduction to Programming Using Python An


1

http://ebooksecure.com/product/ebook-pdf-introduction-to-
programming-using-python-an-1/

(eBook PDF) Numerical Analysis: Mathematics of


Scientific Computing 3rd

http://ebooksecure.com/product/ebook-pdf-numerical-analysis-
mathematics-of-scientific-computing-3rd/

(eBook PDF) The Practice of Creative Writings 3rd


Edition

http://ebooksecure.com/product/ebook-pdf-the-practice-of-
creative-writings-3rd-edition/

The Physics of Computing 1st Edition Marilyn Wolf -


eBook PDF

https://ebooksecure.com/download/the-physics-of-computing-ebook-
pdf/
(eBook PDF) The Doctor of Nursing Practice Essentials
3rd Edition

http://ebooksecure.com/product/ebook-pdf-the-doctor-of-nursing-
practice-essentials-3rd-edition/

(eBook PDF) Python Programming in Context 3rd Edition

http://ebooksecure.com/product/ebook-pdf-python-programming-in-
context-3rd-edition/

Python Programming in Context, 3rd Edition (eBook PDF)

http://ebooksecure.com/product/python-programming-in-context-3rd-
edition-ebook-pdf/

(eBook PDF) The Speaker: The Tradition and Practice of


Public Speaking 3rd

http://ebooksecure.com/product/ebook-pdf-the-speaker-the-
tradition-and-practice-of-public-speaking-3rd/

(eBook PDF) The Nurse, The Math, The Meds: Drug


Calculations Using Dimensional Analysis 3rd Edition

http://ebooksecure.com/product/ebook-pdf-the-nurse-the-math-the-
meds-drug-calculations-using-dimensional-analysis-3rd-edition/
THE PRACTICE OF COMPUTING USING

3RD EDITION

WILLIAM RICHARD
PUNCH • ENBODY
C O N T E N T S

VIDEONOTES xxiv
PREFACE xxv
PREFACE TO THE SECOND EDITION xxix
1.0.1 Data Manipulation xxx
1.0.2 Problem Solving and Case Studies xxx
1.0.3 Code Examples xxx
1.0.4 Interactive Sessions xxxi
1.0.5 Exercises and Programming Projects xxxi
1.0.6 Self-Test Exercises xxxi
1.0.7 Programming Tips xxxi

PART 1 THINKING ABOUT COMPUTING 1


Chapter 0 The Study of Computer Science 3
0.1 Why Computer Science? 3
0.1.1 Importance of Computer Science 3
0.1.2 Computer Science Around You 4
0.1.3 Computer “Science” 4
0.1.4 Computer Science Through Computer Programming 6
0.2 The Difficulty and Promise of Programming 6
0.2.1 Difficulty 1: Two Things at Once 6
0.2.2 Difficulty 2: What Is a Good Program? 9
0.2.3 The Promise of a Computer Program 10
0.3 Choosing a Computer Language 11
0.3.1 Different Computer Languages 11
0.3.2 Why Python? 11
0.3.3 Is Python the Best Language? 13
0.4 What Is Computation? 13
0.5 What Is a Computer? 13

vii
viii CONTENTS

0.5.1 Computation in Nature 14


0.5.2 The Human Computer 17
0.6 The Modern, Electronic Computer 18
0.6.1 It’s the Switch! 18
0.6.2 The Transistor 19
0.7 A High-Level Look at a Modern Computer 24
0.8 Representing Data 26
0.8.1 Binary Data 26
0.8.2 Working with Binary 27
0.8.3 Limits 28
0.8.4 Representing Letters 29
0.8.5 Representing Other Data 30
0.8.6 What Does a Number Represent? 31
0.8.7 How to Talk About Quantities of Data 32
0.8.8 How Much Data Is That? 32
0.9 Overview of Coming Chapters 34

P A R T 2 S TA RT I N G T O P R O G R A M 35
Chapter 1 Beginnings 37
1.1 Practice, Practice, Practice 37
1.2 QuickStart, the Circumference Program 38
1.2.1 Examining the Code 40
1.3 An Interactive Session 42
1.4 Parts of a Program 43
1.4.1 Modules 43
1.4.2 Statements and Expressions 43
1.4.3 Whitespace 45
1.4.4 Comments 46
1.4.5 Special Python Elements: Tokens 46
1.4.6 Naming Objects 48
1.4.7 Recommendations on Naming 49
1.5 Variables 49
1.5.1 Variable Creation and Assignment 50
1.6 Objects and Types 53
1.6.1 Numbers 55
1.6.2 Other Built-In Types 57
1.6.3 Object Types: Not Variable Types 58
1.6.4 Constructing New Values 60
CONTENTS ix

1.7 Operators 61
1.7.1 Integer Operators 61
1.7.2 Floating-Point Operators 64
1.7.3 Mixed Operations 64
1.7.4 Order of Operations and Parentheses 65
1.7.5 Augmented Assignment Operators: A Shortcut! 66
1.8 Your First Module, Math 68
1.9 Developing an Algorithm 69
1.9.1 New Rule—Testing 73
1.10 Visual Vignette: Turtle Graphics 74
1.11 What’s Wrong with My Code? 75
Chapter 2 Control 87
2.1 QuickStart Control 87
2.1.1 Selection 87
2.1.2 Booleans for Decisions 89
2.1.3 The if Statement 89
2.1.4 Example: What Lead Is Safe in Basketball? 92
2.1.5 Repetition 96
2.1.6 Example: Finding Perfect Numbers 100
2.1.7 Example: Classifying Numbers 105
2.2 In-Depth Control 109
2.2.1 True and False: Booleans 109
2.2.2 Boolean Variables 110
2.2.3 Relational Operators 110
2.2.4 Boolean Operators 115
2.2.5 Precedence 116
2.2.6 Boolean Operators Example 117
2.2.7 Another Word on Assignments 120
2.2.8 The Selection Statement for Decisions 122
2.2.9 More on Python Decision Statements 122
2.2.10 Repetition: the while Statement 126
2.2.11 Sentinel Loop 136
2.2.12 Summary of Repetition 136
2.2.13 More on the for Statement 137
2.2.14 Nesting 140
2.2.15 Hailstone Sequence Example 142
2.3 Visual Vignette: Plotting Data with Pylab 143
2.3.1 First Plot and Using a List 144
2.3.2 More Interesting Plot: A Sine Wave 145
x CONTENTS

2.4 Computer Science Perspectives: Minimal Universal Computing 147


2.4.1 Minimal Universal Computing 147
2.5 What’s Wrong with My Code? 148
Chapter 3 Algorithms and Program Development 161
3.1 What Is an Algorithm? 161
3.1.1 Example Algorithms 162
3.2 Algorithm Features 163
3.2.1 Algorithm versus Program 163
3.2.2 Qualities of an Algorithm 165
3.2.3 Can We Really Do All That? 167
3.3 What Is a Program? 167
3.3.1 Readability 167
3.3.2 Robust 171
3.3.3 Correctness 172
3.4 Strategies for Program Design 173
3.4.1 Engage and Commit 173
3.4.2 Understand, Then Visualize 174
3.4.3 Think Before You Program 175
3.4.4 Experiment 175
3.4.5 Simplify 175
3.4.6 Stop and Think 177
3.4.7 Relax: Give Yourself a Break 177
3.5 A Simple Example 177
3.5.1 Build the Skeleton 178
3.5.2 Output 178
3.5.3 Input 179
3.5.4 Doing the Calculation 181

P A R T 3 D AT A S T R U C T U R E S A N D F U N C T I O N S 187
Chapter 4 Working with Strings 189
4.1 The String Type 190
4.1.1 The Triple-Quote String 190
4.1.2 Nonprinting Characters 191
4.1.3 String Representation 191
4.1.4 Strings as a Sequence 192
4.1.5 More Indexing and Slicing 193
4.1.6 Strings Are Iterable 198
CONTENTS xi

4.2 String Operations 199


4.2.1 Concatenation (+) and Repetition (*) 199
4.2.2 Determining When + Indicates Addition or
Concatenation? 200
4.2.3 Comparison Operators 201
4.2.4 The in Operator 202
4.2.5 String Collections Are Immutable 203
4.3 A Preview of Functions and Methods 205
4.3.1 A String Method 205
4.3.2 Determining Method Names and Method Arguments 208
4.3.3 String Methods 210
4.3.4 String Functions 210
4.4 Formatted Output for Strings 211
4.4.1 Descriptor Codes 212
4.4.2 Width and Alignment Descriptors 213
4.4.3 Floating-Point Precision Descriptor 214
4.5 Control and Strings 215
4.6 Working with Strings 218
4.6.1 Example: Reordering a Person’s Name 218
4.6.2 Palindromes 220
4.7 More String Formatting 223
4.8 Unicode 226
4.9 A GUI to Check a Palindrome 228
4.10 What’s Wrong with My Code? 232
Chapter 5 Functions—QuickStart 245
5.1 What Is a Function? 245
5.1.1 Why Have Functions? 246
5.2 Python Functions 247
5.3 Flow of Control with Functions 250
5.3.1 Function Flow in Detail 251
5.3.2 Parameter Passing 251
5.3.3 Another Function Example 253
5.3.4 Function Example: Area of a Triangle 254
5.3.5 Functions Calling Functions 258
5.3.6 When to Use a Function 259
5.3.7 What If There Is No Return Statement? 260
5.3.8 What If There Are Multiple Return Statements? 260
xii CONTENTS

5.4 Visual Vignette: Turtle Flag 261


5.5 What’s Wrong with My Code? 262
Chapter 6 Files and Exceptions I 271
6.1 What Is a File? 271
6.2 Accessing Files: Reading Text Files 271
6.2.1 What’s Really Happening? 272
6.3 Accessing Files: Writing Text Files 273
6.4 Reading and Writing Text Files in a Program 274
6.5 File Creation and Overwriting 275
6.5.1 Files and Functions Example: Word Puzzle 276
6.6 First Cut, Handling Errors 282
6.6.1 Error Names 283
6.6.2 The try-except Construct 283
6.6.3 try-except Flow of Control 284
6.6.4 Exception Example 285
6.7 Example: Counting Poker Hands 288
6.7.1 Program to Count Poker Hands 291
6.8 GUI to Count Poker Hands 299
6.8.1 Count Hands Function 300
6.8.2 The Rest of the GUI Code 302
6.9 Error Check Float Input 304
6.10 What’s Wrong with My Code? 304
Chapter 7 Lists and Tuples 311
7.1 What Is a List? 311
7.2 What You Already Know How To Do With Lists 313
7.2.1 Indexing and Slicing 314
7.2.2 Operators 315
7.2.3 Functions 317
7.2.4 List Iteration 318
7.3 Lists Are Different than Strings 319
7.3.1 Lists Are Mutable 319
7.3.2 List Methods 320
7.4 Old and New Friends: Split and Other Functions and Methods 325
7.4.1 Split and Multiple Assignment 325
7.4.2 List to String and Back Again, Using join 326
7.4.3 The Sorted Function 327
CONTENTS xiii

7.5 Working with Some Examples 328


7.5.1 Anagrams 328
7.5.2 Example: File Analysis 334
7.6 Mutable Objects and References 340
7.6.1 Shallow versus Deep Copy 345
7.6.2 Mutable versus Immutable 349
7.7 Tuples 350
7.7.1 Tuples from Lists 352
7.7.2 Why Tuples? 353
7.8 Lists: The Data Structure 353
7.8.1 Example Data Structure 354
7.8.2 Other Example Data Structures 355
7.9 Algorithm Example: U.S. EPA Automobile Mileage Data 355
7.9.1 CSV Module 365
7.10 Visual Vignette: Plotting EPA Data 366
7.11 List Comprehension 368
7.11.1 Comprehensions, Expressions, and the Ternary
Operator 370
7.12 Visual Vignette: More Plotting 370
7.12.1 Pylab Arrays 371
7.12.2 Plotting Trigonometric Functions 373
7.13 GUI to Find Anagrams 374
7.13.1 Function Model 374
7.13.2 Controller 375
7.14 What’s Wrong with My Code? 377
Chapter 8 More on Functions 395
8.1 Scope 395
8.1.1 Arguments, Parameters, and Namespaces 397
8.1.2 Passing Mutable Objects 399
8.1.3 Returning a Complex Object 401
8.1.4 Refactoring evens 403
8.2 Default Values and Parameters as Keywords 404
8.2.1 Example: Default Values and Parameter Keywords 405
8.3 Functions as Objects 407
8.3.1 Function Annotations 408
8.3.2 Docstrings 409
xiv CONTENTS

8.4 Example: Determining a Final Grade 410


8.4.1 The Data 410
8.4.2 The Design 410
8.4.3 Function: weighted_grade 411
8.4.4 Function: parse_line 411
8.4.5 Function: main 412
8.4.6 Example Use 413
8.5 Pass “by Value” or “by Reference” 413
8.6 What’s Wrong with My Code? 414
Chapter 9 Dictionaries and Sets 423
9.1 Dictionaries 423
9.1.1 Dictionary Example 424
9.1.2 Python Dictionaries 425
9.1.3 Dictionary Indexing and Assignment 425
9.1.4 Operators 426
9.1.5 Ordered Dictionaries 431
9.2 Word Count Example 432
9.2.1 Count Words in a String 432
9.2.2 Word Frequency for Gettysburg Address 433
9.2.3 Output and Comments 437
9.3 Periodic Table Example 438
9.3.1 Working with CSV Files 439
9.3.2 Algorithm Overview 441
9.3.3 Functions for Divide and Conquer 441
9.4 Sets 445
9.4.1 History 445
9.4.2 What’s in a Set? 445
9.4.3 Python Sets 446
9.4.4 Methods, Operators, and Functions for Python Sets 447
9.4.5 Set Methods 447
9.5 Set Applications 452
9.5.1 Relationship between Words of Different 452
9.5.2 Output and Comments 456
9.6 Scope: The Full Story 456
9.6.1 Namespaces and Scope 457
9.6.2 Search Rule for Scope 457
9.6.3 Local 457
9.6.4 Global 458
9.6.5 Built-Ins 462
9.6.6 Enclosed 463
CONTENTS xv

9.7 Using zip to Create Dictionaries 464


9.8 Dictionary and Set Comprehensions 465
9.9 Visual Vignette: Bar Graph of Word Frequency 466
9.9.1 Getting the Data Right 466
9.9.2 Labels and the xticks Command 467
9.9.3 Plotting 467
9.10 GUI to Compare Files 468
9.10.1 Controller and View 469
9.10.2 Function Model 471
9.11 What’s Wrong with My Code? 473
Chapter 10 More Program Development 483
10.1 Introduction 483
10.2 Divide and Conquer 483
10.2.1 Top-Down Refinement 484
10.3 The Breast Cancer Classifier 484
10.3.1 The Problem 484
10.3.2 The Approach: Classification 485
10.3.3 Training and Testing the Classifier 485
10.3.4 Building the Classifier 485
10.4 Designing the Classifier Algorithm 487
10.4.1 Divided, now Conquer 490
10.4.2 Data Structures 491
10.4.3 File Format 491
10.4.4 The make_training_set Function 492
10.4.5 The make_test_set Function 496
10.4.6 The train_classifier Function 497
10.4.7 train_classifier, Round 2 499
10.4.8 Testing the Classifier on New Data 502
10.4.9 The report_results Function 506
10.5 Running the Classifier on Full Data 508
10.5.1 Training versus Testing 508
10.6 Other Interesting Problems 512
10.6.1 Tag Clouds 512
10.6.2 S&P 500 Predictions 514
10.6.3 Predicting Religion with Flags 517
10.7 GUI to Plot the Stock Market 519
10.7.1 Function Model 519
10.7.2 Controller and View 521
xvi CONTENTS

P A R T 4 C L A S S E S , M A K I N G Y O U R O W N D AT A S T R U C T U R E S
AND ALGORITHMS 527
Chapter 11 Introduction to Classes 529
11.1 QuickStart: Simple Student Class 529
11.2 Object-Oriented Programming 530
11.2.1 Python Is Object-Oriented! 530
11.2.2 Characteristics of OOP 531
11.3 Working with OOP 531
11.3.1 Class and Instance 531
11.4 Working with Classes and Instances 532
11.4.1 Built-In Class and Instance 532
11.4.2 Our First Class 534
11.4.3 Changing Attributes 536
11.4.4 The Special Relationship Between an Instance and
Class: instance-of 537
11.5 Object Methods 540
11.5.1 Using Object Methods 540
11.5.2 Writing Methods 541
11.5.3 The Special Argument self 542
11.5.4 Methods Are the Interface to a Class Instance 544
11.6 Fitting into the Python Class Model 545
11.6.1 Making Programmer-Defined Classes 545
11.6.2 A Student Class 545
11.6.3 Python Standard Methods 546
11.6.4 Now There Are Three: Class Designer, Programmer,
and User 550
11.7 Example: Point Class 551
11.7.1 Construction 553
11.7.2 Distance 553
11.7.3 Summing Two Points 553
11.7.4 Improving the Point Class 554
11.8 Python and OOP 558
11.8.1 Encapsulation 558
11.8.2 Inheritance 559
11.8.3 Polymorphism 559
11.9 Python and Other OOP Languages 559
11.9.1 Public versus Private 559
11.9.2 Indicating Privacy Using Double Underscores (__) 560
CONTENTS xvii

11.9.3 Python’s Philosophy 561


11.9.4 Modifying an Instance 562
11.10 What’s Wrong with My Code? 562
Chapter 12 More on Classes 571
12.1 More About Class Properties 571
12.1.1 Rational Number (Fraction) Class Example 572
12.2 How Does Python Know? 574
12.2.1 Classes, Types, and Introspection 574
12.2.2 Remember Operator Overloading 577
12.3 Creating Your Own Operator Overloading 577
12.3.1 Mapping Operators to Special Methods 578
12.4 Building the Rational Number Class 581
12.4.1 Making the Class 581
12.4.2 Review Fraction Addition 583
12.4.3 Back to Adding Fractions 586
12.4.4 Equality and Reducing Rationals 590
12.4.5 Divide and Conquer at Work 593
12.5 What Doesn’t Work (Yet) 593
12.5.1 Introspection 594
12.5.2 Repairing int + Rational Errors 596
12.6 Inheritance 598
12.6.1 The “Find the Attribute” Game 599
12.6.2 Using Inheritance 602
12.6.3 Example: The Standard Model 603
12.7 What’s Wrong with My Code? 608
Chapter 13 Program Development with Classes 615
13.1 Predator–Prey Problem 615
13.1.1 The Rules 616
13.1.2 Simulation Using Object-Oriented Programming 617
13.2 Classes 617
13.2.1 Island Class 617
13.2.2 Predator and Prey, Kinds of Animals 619
13.2.3 Predator and Prey Classes 622
13.2.4 Object Diagram 623
13.2.5 Filling the Island 623
13.3 Adding Behavior 626
13.3.1 Refinement: Add Movement 626
13.3.2 Refinement: Time Simulation Loop 629
xviii CONTENTS

13.4 Refinement: Eating, Breeding, and Keeping Time 630


13.4.1 Improved Time Loop 631
13.4.2 Breeding 634
13.4.3 Eating 636
13.4.4 The Tick of the Clock 637
13.5 Refinement: How Many Times to Move? 638
13.6 Visual Vignette: Graphing Population Size 639

PART 5 BEING A BETTER PROGRAMMER 643


Chapter 14 Files and Exceptions II 645
14.1 More Details on Files 645
14.1.1 Other File Access Methods, Reading 647
14.1.2 Other File Access Methods, Writing 649
14.1.3 Universal New Line Format 651
14.1.4 Moving Around in a File 652
14.1.5 Closing a File 654
14.1.6 The with Statement 654
14.1.7 Text File Encodings; Unicode 655
14.2 CSV Files 656
14.2.1 CSV Module 657
14.2.2 CSV Reader 658
14.2.3 CSV Writer 659
14.2.4 Example: Update Some Grades 659
14.3 Module: os 661
14.3.1 Directory (Folder) Structure 662
14.3.2 os Module Functions 663
14.3.3 os Module Example 665
14.4 More on Exceptions 667
14.4.1 Basic Exception Handling 668
14.4.2 A Simple Example 669
14.4.3 Events 671
14.4.4 A Philosophy Concerning Exceptions 672
14.5 Exception: else and finally 673
14.5.1 finally and with 673
14.5.2 Example: Refactoring the Reprompting of a File Name 673
14.6 More on Exceptions 675
14.6.1 Raise 675
14.6.2 Create Your Own 676
14.7 Example: Password Manager 677
CONTENTS xix

Chapter 15 Recursion: Another Control Mechanism 687


15.1 What Is Recursion? 687
15.2 Mathematics and Rabbits 689
15.3 Let’s Write Our Own: Reversing a String 692
15.4 How Does Recursion Actually Work? 694
15.4.1 Stack Data Structure 695
15.4.2 Stacks and Function Calls 697
15.4.3 A Better Fibonacci 699
15.5 Recursion in Figures 700
15.5.1 Recursive Tree 700
15.5.2 Sierpinski Triangles 702
15.6 Recursion to Non-recursion 703
15.7 GUI for Turtle Drawing 704
15.7.1 Using Turtle Graphics to Draw 704
15.7.2 Function Model 705
15.7.3 Controller and View 706
Chapter 16 Other Fun Stuff with Python 709
16.1 Numbers 709
16.1.1 Fractions 710
16.1.2 Decimal 714
16.1.3 Complex Numbers 718
16.1.4 Statistics Module 720
16.1.5 Random Numbers 722
16.2 Even More on Functions 724
16.2.1 Having a Varying Number of Parameters 725
16.2.2 Iterators and Generators 728
16.2.3 Other Functional Programming Ideas 733
16.2.4 Some Functional Programming Tools 734
16.2.5 Decorators: Functions Calling Functions 736
16.3 Classes 741
16.3.1 Properties 742
16.3.2 Serializing an Instance: pickle 745
16.4 Other Things in Python 748
16.4.1 Data Types 748
16.4.2 Built-in Modules 748
16.4.3 Modules on the Internet 749
Chapter 17 The End, or Perhaps the Beginning 751
xx CONTENTS

APPENDICES 753
Appendix A Getting and Using Python 753
A.1 About Python 753
A.1.1 History 753
A.1.2 Python 3 753
A.1.3 Python Is Free and Portable 754
A.1.4 Installing Anaconda 756
A.1.5 Starting Our Python IDE: Spyder 756
A.1.6 Working with Python 757
A.1.7 Making a Program 760
A.2 The IPython Console 762
A.2.1 Anatomy of an iPython Session 763
A.2.2 Your Top Three iPython Tips 764
A.2.3 Completion and the Tab Key 764
A.2.4 The ? Character 766
A.2.5 More iPython Tips 766
A.3 Some Conventions for This Book 769
A.3.1 Interactive Code 770
A.3.2 Program: Written Code 770
A.3.3 Combined Program and Output 770
A.4 Summary 771
Appendix B Simple Drawing with Turtle Graphics 773
B.0.1 What Is a Turtle? 773
B.0.2 Motion 775
B.0.3 Drawing 775
B.0.4 Color 777
B.0.5 Drawing with Color 779
B.0.6 Other Commands 781
B.1 Tidbits 783
B.1.1 Reset/Close the Turtle Window 783
Appendix C What’s Wrong with My Code? 785
C.1 It’s Your Fault! 785
C.1.1 Kinds of Errors 785
C.1.2 “Bugs” and Debugging 787
C.2 Debugging 789
C.2.1 Testing for Correctness 789
C.2.2 Probes 789
C.2.3 Debugging with Spyder Example 1 789
C.2.4 Debugging Example 1 Using print() 793
CONTENTS xxi

C.2.5 Debugging with Spyder Example 2 794


C.2.6 More Debugging Tips 802
C.3 More about Testing 803
C.3.1 Testing Is Hard! 804
C.3.2 Importance of Testing 805
C.3.3 Other Kinds of Testing 805
C.4 What’s Wrong with My Code? 805
C.4.1 Chapter 1: Beginnings 805
C.4.2 Chapter 2: Control 807
C.4.3 Chapter 4: Strings 808
C.4.4 Chapter 5: Functions 809
C.4.5 Chapter 6: Files and Exceptions 810
C.4.6 Chapter 7: Lists and Tuples 811
C.4.7 Chapter 8: More Functions 812
C.4.8 Chapter 9: Dictionaries 813
C.4.9 Chapter 11: Classes I 814
C.4.10 Chapter 12: Classes II 815
Appendix D Pylab: A Plotting and Numeric Tool 817
D.1 Plotting 817
D.2 Working with pylab 818
D.2.1 Plot Command 818
D.2.2 Colors, Marks, and Lines 819
D.2.3 Generating X-Values 819
D.2.4 Plot Properties 820
D.2.5 Tick Labels 821
D.2.6 Legend 822
D.2.7 Bar Graphs 824
D.2.8 Histograms 824
D.2.9 Pie Charts 825
D.2.10 How Powerful Is pylab? 826
Appendix E Quick Introduction to Web-based User Interfaces 829
E.0.1 MVC Architecture 830
E.1 Flask 830
E.2 QuickStart Flask, Hello World 831
E.2.1 What Just Happened? 832
E.2.2 Multiple Routes 833
E.2.3 Stacked Routes, Passing Address Arguments 835
E.3 Serving Up Real HTML Pages 836
E.3.1 A Little Bit of HTML 836
E.3.2 HTML Tags 836
xxii CONTENTS

E.3.3 Flask Returning Web Pages 838


E.3.4 Getting Arguments into Our Web Pages 839
E.4 Active Web Pages 841
E.4.1 Forms in wtforms 841
E.4.2 A Good Example Goes a Long Way 842
E.4.3 Many Fields Example 847
E.5 Displaying and Updating Images 852
E.6 Odds and Ends 857
Appendix F Table of UTF-8 One Byte Encodings 859
Appendix G Precedence 861
Appendix H Naming Conventions 863
H.1 Python Style Elements 864
H.2 Naming Conventions 864
H.2.1 Our Added Naming Conventions 864
H.3 Other Python Conventions 865
Appendix I Check Yourself Solutions 867
I.1 Chapter 1 867
Variables and Assignment 867
Types and Operators 867
I.2 Chapter 2 868
Basic Control Check 868
Loop Control Check 868
More Control Check 868
for and range Check 868
I.3 Chapter 4 869
Slicing Check 869
String Comparison Check 869
I.4 Chapter 5 869
Simple Functions Check 869
I.5 Chapter 6 869
Exception Check 869
Function Practice with Strings 870
I.6 Chapter 7 870
Basic Lists Check 870
Lists and Strings Check 870
Mutable List Check 870
CONTENTS xxiii

I.7 Chapter 8 870


Passing Mutables Check 870
More on Functions Check 871
I.8 Chapter 9 871
Dictionary Check 871
Set Check 871
I.9 Chapter 11 871
Basic Classes Check 871
Defining Special Methods 871
I.10 Chapter 12 872
Check Defining Your Own Operators 872
I.11 Chapter 14 872
Basic File Operations 872
Basic Exception Control 872
INDEX 873
V I D E O N O T E S

VideoNote 0.1 Getting Python 13
VideoNote 1.1 Simple Arithmetic 64
VideoNote 1.2 Solving Your First Problem 73
VideoNote 2.1 Simple Control 96
VideoNote 2.2 Nested Control 140
VideoNote 3.1 Algorithm Decomposition 177
VideoNote 3.2 Algorithm Development 185
VideoNote 4.1 Playing with Strings 210
VideoNote 4.2 String Formatting 214
VideoNote 5.1 Simple Functions 251
VideoNote 5.2 Problem Design Using Functions 261
VideoNote 6.1 Reading Files 272
VideoNote 6.2 Simple Exception Handling 285
VideoNote 7.1 List Operations 327
VideoNote 7.2 List Application 349
VideoNote 8.1 More on Parameters 405
VideoNote 9.1 Using a Dictionary 437
VideoNote 9.2 More Dictionaries 465
VideoNote 10.1 Program Development: Tag Cloud 512
VideoNote 11.1 Designing a Class 545
VideoNote 11.2 Improving a Class 554
VideoNote 12.1 Augmenting a Class 593
VideoNote 12.2 Create a Class 596
VideoNote 13.1 Improve Simulation 623
VideoNote 14.1 Dictionary Exceptions 669
VideoNote 15.1 Recursion 692
VideoNote 16.1 Properties 742

xxiv
Discovering Diverse Content Through
Random Scribd Documents
antoivat hänelle turvaa, kunnioittivat häntä kuin kuningatarta ja
rakastivat häntä kuin lapsukaista.

Kevenhüller yksin tiesi, kuka hän oli. Ensin hän kyllä oli ollut yhtä
sokea kuin muutkin. Mutta eräänä päivänä oli naisella vihreältä
läikehtivä silkkipuku, ja kun hänellä oli se yllään, tunsi Kevenhüller
hänet taas.

Siellä hän istui silkissä lekottaen Ekebyn parhaimmalla sohvalla, ja


vanhat herrat palvelivat häntä kuin narrit. Yksi oli kokki, toinen
kamaripalvelija, kolmas esilukija, joku oli hovisoittaja, joku
hovisuutari: kaikki he olivat valinneet osansa.

Sairas hän muka oli, tuo häijynnahka, menninkäinen; mutta kyllä


Kevenhüller tiesi, miten sen taudin laita oli. Kuningatar kujeili vain
heidän kustannuksellaan, sellainen hän oli.

Hän varoitti kavaljeereja kavahtamaan häntä. "Katsokaa noita


pieniä teräviä hampaita", hän sanoi, "ja noita villejä, loistavia silmiä.
Hän on metsänemäntä — kaikki paha on liikkeellä tänä kamalana
aikana. Minä sanon teille, hän on metsänemäntä, tullut tänne
turmioksemme. Minä olen nähnyt hänet ennenkin."

Mutta kun Kevenhüller näki metsänemännän ja tunsi hänet, valtasi


hänet työnhalu. Hänen aivonsa alkoivat palaa ja kiehua, hänen
sormiaan pakotti halu kouristaa vasaraa ja viilaa; hän ei voinut
taistella itseänsä vastaan. Katkerin mielin hän veti ylleen työtakin ja
sulkeutui vanhaan työkalupajaan, joka nyt oli hänen verstaansa.

Silloin kävi Ekebystä yli Vermlannin huuto:

"Kevenhüller on ryhtynyt työhön."


Ja henkeä pidättäen kuunneltiin vasaran kalsketta, viilan
kirskutusta ja palkeen puhkinaa suljetusta pajasta.

Uusi ihmetyö on näkevä päivänvalon. Mimmoinen se mahtaa olla?


Opettaako hän nyt käymään veden päällä, vai menemään tikapuilla
otavaan?

Mikään ei ole mahdotonta sellaiselle miehelle. Omin silmin on


nähty hänen vaununsa huristavan katuja pitkin. Hänellä on
metsänemännän lahja: mikään ei ole hänelle mahdotonta.

Eräänä yönä, lokakuun ensimmäisenä tai toisena, oli hänen


ihmetyönsä valmis. Hän tuli työpajasta kantaen sitä käsillään. Se oli
pyörä, joka hyrräsi lakkaamatta ympäri; kun se käännähti, loistivat
värttinät kuin tuli, ja siitä läksi valoa ja lämpöä. Kevenhüller oli
tehnyt auringon. Kun hän toi sitä pajasta, niin tuli yö niin valoisaksi,
että varpuset alkoivat tirskutella ja pilvet hehkua aamuruskoa.

Se oli kerrassaan mainio keksintö. Ei enää pimeää eikä pakkasta


maailmassa. Häntä huimasi, kun hän sitä ajatteli. Päivän aurinko
nousisi ja laskisi edelleen, mutta sen kadottua loimuaisivat hänen
tuhannet ja tuhannet tulipyöränsä yli maan, ja ilma väreilisi lämpöä
kuin kuumimpina kesäpäivinä. Silloin korjataan kypsiä satoja
sydäntalven tähtitaivaan alla; mansikat ja puolukat puhkevat
metsämäkiä kaiken vuotta; jää ei koskaan kytke vettä.

Kun nyt uusi keksintö oli valmis, niin se oli luova uuden maan.
Hänen tulipyöränsä oli oleva köyhäin turkki ja kaivosmiesten aurinko.
Se antaa käyttövoiman tehtaille, elämän luonnolle, uuden, rikkaan ja
onnellisen olon ihmiskunnalle. Mutta samassa hän kuitenkin tiesi,
että kaikki se oli unelmaa ja ettei metsänemäntä koskaan salli hänen
monistaa tulipyöräänsä. Ja vihassaan ja kostonhimossaan hän päätti
hänet tappaa, ja niinpä hän ei tiennyt, mitä oikein teki.

Hän meni päärakennukselle ja asetti tulipyöränsä aivan eteisen


portaiden nurkkaan. Hänen aikeensa oli sytyttää talo tuleen ja
polttaa metsähinen sinne.

Sitten hän meni takaisin pajaansa ja kuunteli siellä hiljakseen.

Kohta alettiin kartanolla huutaa ja kirkua. Nyt rupesi ilmenemään,


että suuri urotyö oli tehty.

Niin, juoskaa te, huutakaa, läpätkää! Nyt se palaa taloon,


metsänemäntä, se, jota te silkillä hyllyttelitte.

Kääntelehtiikö se tuskissa, pakeneeko liekkejä huoneesta


huoneeseen? Ah, miten vihreä silkki loimuaa liekeissä ja miten liekit
leikkivät upeassa tukassa! Rohkeutta, liekit, huimaa rohkeutta,
vangitkaa hänet, pistäkää hänet tuleen. Noita-akat palavat! Älkää
pelätkö hänen loitsujansa, liekit! Antakaa hänen palaa! Onhan
olemassa mies, jonka on täytynyt palaa hänen tähtensä kaiken
ikänsä.

Kellot läppäsivät, vaunut ratisivat, ruiskut vedettiin pihalle, vettä


pumputtiin letkuilla järvestä, väkeä riensi paikalle kaikista kylistä. Oli
huutoa, voivotusta ja käskyjä, katot suistuivat sisään; rätisi ja jyrisi
hirmuinen tulipalo. Mutta mikään ei häirinnyt Kevenhülleriä. Hän istui
hakkuupölkyllä käsiään hykerrellen.

Sitten hän kuuli jyrinän kuin taivas olisi luhistunut, ja riemuissaan


hän hypähti pystyyn. "Nyt se on tehty", hän huudahti. "Nyt hän ei
pelastu, nyt hän on sortunut hirsien alle tai palanut liekkeihin. Nyt se
on tehty."

Ja hän ajatteli Ekebyn kunniaa ja mahtia, joka täytyi uhrata näin,


että metsänemäntä saataisiin pois maailmasta. Ajatteli ihania saleja,
joissa oli asunut niin runsas riemu, huoneita, jotka olivat kajahdelleet
ilon muistoja, pöytiä, jotka olivat notkuneet herkkuruokien alla,
kalliita, vanhoja huonekaluja, hopeita ja porsliineja, joita ei voi
hankkia takaisin…

Ja yht'äkkiä hän hyppäsi kirkaisten pystyyn. Hänen tulipyöränsä,


hänen aurinkonsa, malli, josta kaikki oli tuleva, eikö hän ollut
pistänyt sitä portaiden alle, sytyttääkseen tulipalon!

Kevenhüller oli kauhusta kivettynyt ja halveksi itseänsä.

"Olenko minä hullu?" hän sanoi. "Miten minä voin olla sellainen?"

Samassa aukeni pajan hyvin suljettu ovi, ja vihreähelma astui


sisään.

Metsänemäntä seisoi kynnyksellä hymyilevänä ja kauniina. Hänen


vihreässä verhossaan ei ollut vikaa, ei tahraa, ei ollut palonkäry
tarttunut hänen tuuheaan tukkaansa. Hän oli sellainen, jollaisena
Kevenhüller oli nähnyt hänet Karlstadin torilla, nuoruutensa päivinä;
pedon häntä laahasi hänen jalkojensa välissä, ja hän toi metsän
kaiken huimuuden ja tuoksun matkassaan.

"Nyt Ekeby palaa", hän sanoi nauraen.

Kevenhüller kohotti moukarin ja aikoi iskeä sen hänen päähänsä,


mutta silloin hän näki, että metsällisellä oli kädessään hänen
tulipyöränsä.
"Katsopas, mitä sinulle pelastin", hän sanoi.

Kevenhüller heittäysi hänen eteensä. "Sinä särjit minun vaununi,


sinä musersit minun siipeni ja sinä tuhosit minun elämäni. Sääli,
armahda minua!"

Metsänemäntä keikahti höyläpenkille ja istuutui siihen, yhtä


nuorena ja veitikkamaisena kuin silloin kun Kevenhüller näki hänet
ensi kerran Karlstadin torilla.

"Huomaan sinun tietävän, kuka minä olen", hän sanoi.

"Minä tiedän ja olen aina tietänyt, kuka sinä olet", sanoi


miesraukka, "sinä olet nerous. Mutta vapauta nyt minut! Ota lahjasi
pois minulta! Ota pois ihmetöiden lahjat! Anna minun olla tavallinen
ihminen! Miksi sinä vainoat minua? Miksi sinä tuhoat minut?"

"Hullu", sanoi metsänemäntä. "Milloinkaan en ole tahtonut sinulle


mitään pahaa. Minä annoin sinulle suuren palkinnon; mutta voin sen
ottaa poiskin, jollei se sinua miellytä. Mutta harkitse tarkoin! Sinä
kadut vielä."

"En, en", huudahti Kevenhüller, "ota pois minulta ihmetöiden


voima!"

"Ensin sinun täytyy hävittää tämä", sanoi metsänemäntä ja heitti


tulipyörän hänen eteensä lattialle.

Kevenhüller ei epäröinyt. Hän huitaisi moukarilla kimaltavaa


tuliaurinkoa, joka oli vain ilkeä velhon kalu, kun sitä ei saanut
käyttää tuhansien hyödyksi. Kipunat sinkosivat ympäri huonetta,
sirut ja tulenliekit tanssivat hänen ympärillään, ja pian oli hänen
viimeinenkin ihmelaitteensa muruina.
"Niin, no minä otan nyt siis lahjani sinulta", sanoi metsänemäntä.

Kun hän seisoi jo menossa ovelle ja ulkoa virtasi tulipalonhohde


häneen, katsahti Kevenhüller häneen viimeisen kerran.

Kauniimmalta kuin milloinkaan hän näytti miehestä nyt, eikä enää


ilkeältä: vain ankaralta ja ylevältä.

"Hullu", sanoi metsänemäntä. "Kielsinkö mitenkään antamasta


muiden monistaa töitäsi? Mitä minä muuta tahdoin kuin varjella
neroa käsityöläisen toimelta."

Ja hän meni. Kevenhüller tuli pariksi päivää sekapäiseksi.


Sittemmin hän taas tuli tavalliseksi ihmiseksi.

Mutta hourupäissään hän oli polttanut Ekebyn. Yksikään ihmisistä


ei kuitenkaan vahingoittunut. Silti suretti kavaljeereja suuresti, että
tuon vieraanvaraisen kodin piti kärsiä heidän aikanaan niin paljon
vahinkoa.

Oi te myöhäisten aikain lapset, olisinpa minä tai te kohdanneet


Karlstadin torilla metsänemännän! Luuletteko, etten minä olisi
juossut
metsään huutamaan: "Metsänemäntä, metsänemäntä, minä se olen,
Kevenhüller, Kevenhüller!" Mutta kukapa näkee hänet enää
nykyaikaan?
Kuka meidän päivinämme valittaa saaneensa liiaksi hänen lahjojaan?

Yhdeskolmatta luku

BROBYN MARKKINAT
Lokakuun ensimmäisenä perjantaina alkavat suuret markkinat,
jotka kestävät kahdeksan päivää. Se on syksyn suuri juhla. Sen
edellä teurastetaan ja leivotaan joka pirtissä; uudet talvipuvut
valmistuvat pantaviksi ylle ensi kertaa; juhlaruoat — sellaiset kuin
köyhänhanhi ja juustokaakku — seisovat pöydällä päivät päästään;
paloviinamäärät lisätään kaksin verroin; työ lepää. On juhla
jokaisessa talossa. Palvelijat ja työväki saavat silloin palkkansa ja
pitävät pitkiä neuvotteluja, mitä he ostavat markkinoilta.
Pitkämatkaisia tulee pienissä ryhmissä tietä pitkin reppu selässä ja
sauva kädessä. Monet ajavat karjaansa markkinoille. Pienet,
itsepäiset mullikat ja vuohet, jotka pysähtyvät mäessä ja päkistävät
etujaloin vastaan, tuottavat aika harmia omistajalle ja suurta
hauskuutta katselijoille. Herraskartanoiden vierashuoneet ovat
täynnä rakkaita vieraita; uutisia kerrotaan ja karjan ja tavaran
hinnoista pakistaan. Lapset uneksivat markkinaleluista ja
markkinarahoista.

Ja ensimmäisenä markkinapäivänä — miten väkeä silloin nousta


kuhiseekaan Brobyn mäkiä avaralle markkinakentälle! Kojut on
pystytetty, kojut joihin kaupungin kauppiaat ovat levittäneet
tavaransa, kun taas taalalaiset ja länsigöötalaiset ovat pinonneet
tavaransa loppumattomille tiskiriveille, joiden valkeat telttakatot
lepattavat. Nuorallatanssijoita, posetiivareita ja sokeita viulunsoittajia
siellä on viljalti, samoin ennustajia, karamellinkauppiaita ja
viinakapakoita. Kojujonon taakse on savi- ja puuastioita ladottu
riviin. Sipulia ja piparjuurta, omenia ja päärynöitä tarjoilevat suurten
kartanoiden puutarhurit kaupaksi. Suuria maaneliöitä anastavat
ruskeanpunaiset, kirkkaiksi tinatut kupariastiat.

Markkinoista huomaa kuitenkin, että Svartsjössä ja Brossa ja


Löfvikissä ja muissa Lövenin pitäjissä on puute: kauppa käy huonosti
kojuissa ja tiskien ääressä. Eniten liikettä on eläintorilla, sillä monen
täytyy myydä sekä lehmänsä että hevosensa tullakseen itse toimeen
yli talven. Siellä häärätään myös hurjassa, jännittävässä
hevosenvaihdossa.

Hauskaa on Brobyn markkinoilla. Jos on vain rahaa pariin


ryyppyyn, niin kyllä on rohkeutta. Eikä se viina saa pelkästään iloa
aikaan: kun ihmiset tulevat yksinäisistä metsätaloista
markkinakentälle lainehtivaan ihmisjoukkoon ja kuulevat huutavan,
nauravan markkinaväen melun, niin he ikään kuin jo juopuvat ilosta,
hurjistuvat pauhaavasta markkinaelämästä.

Kyllähän tehdään paljon kauppaakin niin suuressa joukossa, mutta


se on tuskin pääasia. Tärkeintä on saada mukaansa parvi sukulaisia
tai ystäviä kärryille ja tarjota hänelle lammasmakkaraa,
köyhänhanhea ja viinaa tai houkutella tyttö ottamaan lahjaksi
virsikirja ja silkkihuivi tai mennä katsomaan pienokaisille
markkinatuliaisia.

Kaikki ne, joiden ei ole täytynyt jäädä kotiin hoitamaan taloa ja


karjaa, ovat tulleet näille Brobyn markkinoille. Siellä on Ekebyn
kavaljeerit ja Nygårdin metsäkulmalaiset, Norjan hevoskauppiaat,
pohjoisten metsien suomalaiset, maantien mustalaiset.

Joskus tuo pauhaava meri painautuu yhteen pyörteeseen, joka


kieppuu huimissa kaarteissa jonkin keskipisteen ympäri. Kukaan ei
tiedä, mitä on sisimpänä, ennen kuin pari poliisia tunkeutuu joukon
läpi tekemään lopun tappelusta tahi nostamaan pystyyn kaatuneet
rattaat. Ja seuraavassa tuokiossa on uusi väen kihinä kauppamiehen
ympärillä, joka kinastelee sukkelan maalaistytön kanssa.
Sitten — keskipäivän tienoissa alkaa se suuri tappelu. Talonpojat
ovat huomanneet, että länsigöötalaisten kyynärkepit ovat liian
lyhyet, ja siitä sukeutuu ensin riitaa ja rähinää heidän tiskiensä
ympärillä; sitten joudutaan käsirysyyn. Sen arvaa jokainen, että
monelle, joka ei niihin aikoihin nähnyt muuta kuin kurjuutta ja hätää,
oli ikään kuin riemu vähän iskeä, sama sitten ketä tai mitä. Ja heti
kun vahvat ja tappelunhaluiset näkevät nujakan käynnissä,
kapaisevat he paikalle joka taholta. Kavaljeerit aikovat juuri
murtautua joukkoon rakentamaan omalla tavallaan rauhaa, ja
Taalain miehet kiiruhtavat auttamaan länsigöötalaisia.

Forsin vahva Maunu on leikissä innokkain. Humalassa hän on ja


vihainen; nyt hän on suistanut maahan erään länsigöötalaisen ja
alkanut löylyttää häntä, mutta tämän hätähuudot kuullessaan
juoksevat maanmiehet avuksi ja koettavat pakottaa vahvaa Maunua
laskemaan heidän toverinsa irti. Silloin kaataa vahva Maunu
kangaspakat maahan tiskiltä ja tempaa itse tiskilevyn, joka on
kyynärän leveä ja kahdeksan kyynärää pitkä ja naulattu paksuista
lankuista, ja alkaa sillä aseella huitoa.

Hän on hirmuinen mies, se vahva Maunu. Hän se potkaisi koko


seinän pellolle Filipstadin poliisiputkasta, hän se nostaa veneen
vedestä ja kantaa sen hartioillaan. Voipa nyt arvata, että kun hän
alkaa raskaalla tiskillä huitoa ympärilleen, niin koko kansa kaikkoaa
ja länsigöötalaiset myös. Mutta vahva Maunu tulee jäljestä huitoen
ympärilleen raskaalla levyllä. Nyt hän ei piittaa enää ystävistä eikä
vihamiehistä: hän vain tahtoo jotakuta lyödä, kun sai kerran aseen.

Rahvas pakenee häntä kauhuissaan. Miehet ja naiset juoksevat ja


kirkuvat. Mutta miten voivat paeta naiset, joilla useilla on lapsi
helmoissaan? Kojut ja kärryt ovat heidän tiellään, härät ja lehmät,
jotka ovat melusta hurjistuneet, estävät heitä pääsemästä pakoon.

Erääseen sopukkaan kojujen väliin on sulloutunut joukko naisia, ja


tätä kohti hyökkää nyt jättiläinen. Eikö tuolla keskellä akkaparvea
seiso Länsi-Göötan mies? Hän kohottaa levyn ja antaa sen
humahtaa. Kalvaan, tyrmistävän tuskan vallassa ottavat naiset
hyökkäyksen vastaan, painuen kuuruun tappavan iskun alla.

Mutta kun levy lankeaa viuhuen heitä kohti, murtuu sen voima
erään miehen kohotettuihin käsivarsiin. Se mies ei painunut maahan,
vaan kohosi yli joukon, se mies oli vapaaehtoisesti ottanut vastaan
iskun, pelastaakseen niin monta kuolemasta. Vaimot ja lapset ovat
vahingoittumatta. Mies on murtanut lyönnin hurjan voiman, mutta
hän makaakin nyt maassa tiedottomana.

Vahva Maunu ei nosta enää lankkuansa hyökätäkseen. Hän on


nähnyt miehen katseen juuri silloin, kun levy kohtasi hänen
päälakensa, se hänet lamasi kerrassaan. Hän antoi itsensä sitoa ja
viedä pois vastarintaa tekemättä.

Mutta kiitävää vauhtia leviää markkinoilla huhu, että vahva Maunu


on tappanut Lennart-kapteenin. Kerrotaan, että hän, joka oli
ihmisten ystävä, kuoli pelastaakseen naiset ja turvattomat lapset.

Ja aivan hiljaiseksi tulee avara kenttä, jossa äsken pauhasi elämä


hurjimmassa vauhdissaan, kauppa pysähtyy, tappelu taukoaa, pidot
ruokakirstujen ympärillä loppuvat, turhaan houkuttelevat
nuorallatanssijat katsojia.

Kansan ystävä on kuollut, kansaa on kohdannut suru. Vaieten


virtaavat kaikki paikalle, mihin hän kaatui. Hän makaa suorana, aivan
tunnotonna; haavaa ei näy, mutta pääkallo näyttää olevan litistynyt.

Jotkut miehet nostavat hänet varovasti tiskille, joka jäi jättiläiseltä.


He ovat huomaavinaan, että hän elää vielä.

"Mihin me hänet viemme?" he kysyvät toisiltaan.

"Kotiinsa", vastaa joukosta tuima ääni.

Oi, niin, hyvät kuomat, kantakaa hänet kotiin. Nostakaa hänet


hartioillenne ja kantakaa hänet kotiin. Hän on ollut Jumalan
leikkipallo, hän on ajelehtinut kuin höyhen Hänen henkensä
tuulahduksessa. Kantakaa nyt hänet kotiin!

Haavoitettu pää on levännyt vankilan kovalla lavitsalla, latojen


olkikuvoilla. Antakaa sen nyt päästä kotiin ja levätä pehmoisella
tyynyllä! Hän on kärsinyt syyttömästi häpeätä ja vaivaa, hänet on
ajettu pois oman kotinsa ovelta. Harhaileva pakolainen hän on ollut,
Jumalan teitä matkaava sikäli mikäli niille sattui, mutta hänen
kaipuunsa maa oli koti, jonka ovet Jumala oli häneltä sulkenut.
Kenties on koti nyt avoinna sille, joka on kuollut naisia ja lapsia
pelastaakseen.

Nyt ei hän tule rikollisena, jota hoippuvat juomaveikot taluttavat:


häntä saattaa sureva kansa, jonka majoissa hän on asunut sen
kärsimyksiä helpottaakseen. Kantakaa hänet nyt kotiin!

Ja he tekevät niin. Kuusi miestä nostaa tiskin, jolla hän makaa,


olkapäilleen ja kantaa hänet pois markkinakentältä. Missä he
kulkevat, väistyvät ihmiset sivulle ja seisovat hiljaa: miehet
paljastavat päänsä, ja naiset kyykistävät niinkuin kirkossa, kun
Jumalan nimeä mainitaan. Monet itkevät ja pyyhkivät silmiään; toiset
alkavat puhua, millainen mies hän oli ollut, niin hyvä, niin iloinen,
niin nokkela neuvoissaan, ja niin hurskas. Merkillistä on myös nähdä,
että kun yksi kantajista väsyy, tulee heti toinen aivan hiljaa ja
sijoittaa olkansa levyn alle.

Niinpä viedään Lennart-kapteenia senkin paikan ohi, jossa


kavaljeerit seisovat.

"Pitänee mennä huoltamaan, että hän joutuu kunnolla kotiin",


sanoo
Beerencreutz ja jättää paikkansa tiepuolessa, mennäkseen joukon
mukana
Helgesäteriin. Moni seuraa hänen esimerkkiään.

Markkinakenttä tulee kuin autioksi: väki menee Lennart-kapteenin


kanssa Helgesäteriin. Täytyyhän huoltaa, että hän pääsee kotiin.
Kaikki välttämätön mikä piti ostaa saa jäädä sillensä;
markkinatuomiset pienokaisille unohtuvat, virsikirjan kauppa jää iäksi
kesken, silkkihuivi, joka välkkyi tytön silmissä, saa jäädä tiskille.
Kaikkien täytyy mennä huoltamaan, että Lennart-kapteeni pääsee
kotiin.

Kun saatto tulee Helgesäteriin, on talo hiljainen ja autio. Taas


paukkuvat everstin nyrkit suljettuun oveen. Kaikki palvelijat ovat
markkinoilla; kapteeninrouva yksin on kotona. Hän se nyt avaakin.

Ja hän kysyy kuten kerran ennenkin:

"Mitä te tahdotte?"

Johon eversti vastaa, kuten kerran ennenkin:

"Me tuomme tänne sinun miestäsi."


Rouva katsoo everstiä, joka seisoo siinä jäykkänä ja vahvana
kuten aina. Rouva katsoo kantajia, jotka itkevät hänen takanaan, ja
koko pitkää rahvasjoukkoa. Hän seisoo portailla ja katsoo satoihin
itkeviin silmiin, jotka tuskaisesti tuijottavat häneen. Viimein hän
katsoo mieheen, joka makaa suorana paareilla, ja hän painaa käden
sydämelleen.

"Nuo ovat hänen kasvonsa", hän mutisee.

Muuta kysymättä hän kumartuu, vetää pois salvan, aukaisee ovet


seppo selälleen ja menee sitten muiden edellä makuuhuoneeseen.

Everstiä ja kapteeninrouvaa autetaan aukaisemaan kahden


maattavaa sänkyä ja pudistamaan patjaa, ja sitten sijoitetaan
Lennart-kapteeni taas nukkumaan pehmeille untuville ja valkealle
hurstille.

"Elääkö hän?" kysyy rouva.

"Elää", vastaa eversti.

"Onko toivoa?"

"Ei. Ei mitään voida enää."

On hetkinen hiljaista, sitten pälkähtää rouvan päähän ajatus:

"Itkevätkö nuo kaikki hänen tähtensä?"

"Itkevät."

"Mitä hän sitten on tehnyt?"


"Viimeksi hän antoi vahvan Maunun lyödä itsensä kuoliaaksi,
pelastaakseen naiset ja lapset kuolemasta."

Rouva istuu taaskin hetkisen hiljaisena ja miettien.

"Millaiset kasvot hänellä oli, eversti, kun hän tuli kotiin kaksi
kuukautta sitten?"

Eversti säpsähtää. Nyt hän ymmärtää, nyt hän vasta ymmärtää.

"Göstahan oli hänet maalannut."

"Siispä suljin minä kavaljeerien koiruuden vuoksi häneltä hänen


kotinsa oven. Kuinka siitä vastaatte, eversti?"

Beerencreutz kohautti leveitä hartioitaan.

"Minulla on paljon vastattavaa."

"Mutta minä tarkoitan, että tämä lie pahinta, mitä olette tehnyt."

"Niinpä en ole koskaan kulkenutkaan raskaampaa tietä kuin


tänään tänne Helgesäteriin. Muuten, vielä on kaksi, jotka ovat tähän
asiaan vikapäitä."

"Ketkä ne ovat?"

"Sintram on toinen, toinen hyvä serkkuseni itse. Serkku on ankara


nainen. Minä tiedän, että moni on koettanut puhua serkulle hyvää
hänen miehestään."

"Se on totta", vastaa kapteeninrouva.

Sitten hän pyytää kertomaan Brobyn juomingeista.


Eversti kertoo kaikki niin hyvin kuin muistaa, ja rouva kuuntelee
hiljaa. Lennart-kapteeni makaa yhä tiedottomana sängyssä. Huone
on täpösen täynnä itkeviä; kukaan ei edes ajattele sulkea pihalle tätä
murheellista joukkoa. Kaikki ikkunat ovat auki, kaikki huoneet,
portaat, eteiset ovat täynnä hiljaisia, tuskaisia ihmisiä, koko pihankin
ne täyttävät sankoin joukoin. Kun eversti vaikenee, korottaa
kapteeninrouva äänensä ja sanoo:

"Jos täällä on joku kavaljeeri, niin pyydän häntä poistumaan.


Minun on vaikea nähdä heitä mieheni kuolinvuoteen ääressä."

Sanaakaan sanomatta nousee eversti silloin ja poistuu. Samoin


tekevät myös Gösta Berling ja ne muut kavaljeerit, jotka saattoivat
Lennart-kapteenia. Kansa väistyy arasti sivulle tuon pienen,
nöyryytetyn miesjoukon edestä.

Heidän poistuttuaan sanoo kapteeninrouva: "Tahtoisiko kukaan,


joka on nähnyt miestäni tällä aikaa, sanoa, missä hän on oleskellut
ja mitä hän on tehnyt?"

Silloinpa he alkavat todistaa Lennart-kapteenista hänen


vaimolleen, joka ei ollut häntä tuntenut oikein, vaan kovettanut
ankaruudessaan sydämensä. Nyt kaikuu taas vanhojen hymnien
kieli. Puhuvat miehet, jotka eivät koskaan ole lukeneet muuta kuin
raamattua. Jobin kirjan kuvakielellä, patriarkkain aikaisilla
sanankäänteillä he haastavat Jumalan matkamiehestä, joka käveli
ympäri maata auttamassa kansaa.

Menee aikaa ennen kuin he ovat puhuneet loppuun. Hämärän ja


illan tullessa he seisovat yhä vielä puhumassa: toinen toisensa
jälkeen astuu ja kertoo vainajasta hänen vaimolleen, joka ei ollut
tahtonut kuulla hänen nimeäänkään mainittavan.
Siellä on sellaisia, jotka tietävät, että hän oli tullut ja tavannut
heidät tautivuoteella ja parantanut heidät. Siellä oli hurjia
tappelupukareja, jotka hän on kesyttänyt. Siellä on murheellisia, joita
hän on virvoittanut, juoppoja, jotka hän on pakottanut raittiiksi.
Kaikki, kuka tahansa, joka oli joutunut sietämättömään hätään, oli
vain lähettänyt sanan Jumalan matkamiehelle, ja hän oli osannut
auttaa, ainakin hän oli herättänyt uskoa ja toivoa.

Koko illan kaikuu hymnien kieli sairashuoneessa.

Ulkona pihalla seisovat sankat joukot odottaen loppua. He tietävät,


mitä tuolla sisällä tehdään: se mitä lausutaan äänekkäästi
kuolinvuoteen ääressä, kuiskataan pihalla miehestä mieheen. Kenellä
on vielä sanomista tungeikse esille. "Siinä on yksi joka voi todistaa",
sanotaan, ja annetaan hänelle tilaa. Ja he astuvat esille pimeästä,
lausuvat todistuksensa ja painuvat jälleen pimeään.

"Mitä rouva nyt sanoo?" kysyvät pihalla olijat, kun joku tulee ulos.
"Mitä hän nyt sanoo, se Hegelsäterin ankara rouva?"

"Hän loistaa kuin kuningatar, hän hymyilee kuin morsian. Hän on


muuttanut nojatuolin miehensä vuoteen ääreen ja pannut siihen ne
vaatteet, jotka hän on kapteenille itse kutonut."

Mutta sitten tulee väki ihan äänettömäksi. Kukaan ei sitä sano,


kaikki tietävät sen yhtaikaa: "Hän kuolee."

Lennart-kapteeni avaa silmänsä, näkee ja näkee kylliksi.

Hän näkee kodin, rahvaan, vaimon ja lapset, vaatteet ja hän


hymyilee. Mutta hän on herännyt vain kuollakseen. Hän henkäisee,
korahuttaa kerran ja heittää henkensä.
Silloin vaikenevat kertomukset, mutta joku ääni virittää
kuolinvirren. Kaikki yhtyvät siihen, ja satojen vahvain äänten
kantamana laulu nousee korkeutta kohti.

Maan jäähyväiset lähtevälle sielulle.

Kahdeskolmatta luku

METSÄTORPPA

Tämä tapahtui monta vuotta ennen kuin kavaljeerit hallitsivat


Ekebytä.

Paimenpoika ja paimentyttö leikkivät metsässä kahden, rakensivat


tupia paasista, poimivat lakkoja, tekivät leppätorvia. Metsässä
syntyneitä olivat molemmat. Metsä oli heidän kotinsa ja
herrashovinsa. Kaiken metsäisen kanssa he elivät hyvässä sovussa,
kuten ollaan sovussa palvelijain ja kotieläinten kanssa.

Pienokaisista oli ilves ja kettu heidän koiriaan, kärppä heidän


kissansa, jänis ja orava olivat heidän nautakarjaansa, huuhkajat ja
teerit istuivat heidän lintuhäkissään, kuuset olivat heidän
palvelijoitaan, ja nuoret koivut vieraita heidän pidoissaan. He tiesivät
hyvin luolan, jossa kyykäärmeet makasivat yhdessä vyyhdessä
talvilevossa, ja uidessaan he olivat nähneet tarhakäärmeen uivan
heitä kohti kirkkaassa vedessä; mutta he eivät pelänneet käärmettä
eivätkä haltijaa, nehän olivat metsähisiä, ja metsä oli heidän kotinsa.
Siellä ei mikään voinut heitä pelottaa.
Syvällä metsässä oli torppa, jossa poika asui. Sinne johti mäkinen
polku, vuoret kohosivat joka puolella ja pimensivät auringon,
pohjaton räme oli lähellä ja henki kaiken vuotta hallaista sumua. Ei
näyttänyt tasangon väestöstä sellainen asunto houkuttelevalta.

Paimenpoika ja paimentyttö aikoivat kerran mennä yksiin ja


asuskella siellä metsätorpassa ja elää kättensä työllä. Mutta ennen
kuin he pääsivät naimisiin, kohtasi maata sodan onnettomuus, ja
poika otti soturin pestin. Hän palasi kotiin kyllä haavoitta ja ehjin
jäsenin, mutta elinkautiset merkit oli se matka häneen iskenyt. Liian
paljon maailman pahuutta ja ihmisten julmia elkeitä lähimmäisiään
kohtaan hän oli nähnyt. Hän ei kyennyt enää näkemään hyvää.

Ensin ei kukaan huomannut hänessä mitään muutosta.


Lapsuutensa rakastetun kanssa hän meni pappilaan kuulutuksille.
Ekebyn metsätorpasta tuli heidän kotinsa, kuten he kauan sitten
olivat sopineet, mutta siinä kodissa ei viihtynyt ilo.

Vaimo katsoi miestään kuin ventovierasta. Siitä lähtien kun mies


oli palannut sodasta ei hän ollut voinut häntä käsittää. Mies nauroi
karkeasti ja puhui vähän. Vaimo pelkäsi häntä.

Mies ei tehnyt suinkaan kiusaa eikä vahinkoa, ja hän oli ahkera


työmies. Kuitenkin hänestä pidettiin vähän, sillä hän uskoi kaikista
pahaa. Itse hän tunsi olevansa kuin vihattu muukalainen. Nyt olivat
metsän elävät hänen vihollisiaan. Vuori, joka sumensi auringon, ja
räme, joka henki sumua, olivat hänen vainoojiaan. Metsä on kamala
asunto sille, joka hautoo pahoja ajatuksia.

Valoisia muistoja kootkoon se, joka halaa asua erämaissa! Muuten


hän näkee vain murhaa ja väkivaltaa kasvien ja eläinten
keskuudessa, niinkuin ennen näki ihmisten suhteissa. Hän odottaa
pahaa kaikesta mitä tiellään kohtaa.

Ei voinut Jan Hök, sotamies, selittää, mitä häneltä puuttui, mutta


hän huomasi, ettei mikään hänelle oikein onnistunut. Vähän
viihdytystä tarjosi koti. Pojista, jotka siellä varttuivat, tuli vahvoja
mutta hurjia. Karaistuneita ja rohkeita miehiä he olivat, mutta hekin
sotajalalla jokaisen kanssa.

Hänen vaimoaan houkutteli suru tutkimaan erämaan salaisuuksia.


Rämeeltä ja viidakoista hän etsi terveyttä tuottavia yrttejä.
Manalaisten elämää hän aprikoi, ja hän tiesi, mikä uhri heitä
miellytti. Hän osasi parantaa tauteja ja antaa hyviä neuvoja niille,
joita rakkauden suru vaivasi. Hän tuli loitsutaitoisen maineeseen, ja
häntä kartettiin, vaikka hän oli suurena hyötynä muille.

Kerran otti vaimo puhellakseen miehensä kanssa tämän huolista.

"Siitä lähtien kun sinä menit sotaan", hän sanoi, "sinä olet ollut
muuttunut. Mitä ne siellä sinulle tekivät?"

Silloin kavahti mies pystyyn ja oli vähällä lyödä häntä, ja samalla


tavalla kävi joka kerta kun vaimo puhui sodasta. Hän joutui silloin
hourupään vihan valtaan. Kenenkään hän ei kärsinyt mainitsevan
sota-sanaa, ja pian tuli tietyksi, ettei hän sietänyt puhetta sodasta.
Niinpä kavahtivat ihmiset sellaista puheenaihetta.

Mutta kukaan hänen sotaveikkonsa ei voinut kertoa hänen


tehneen siellä enemmän pahaa kuin muutkaan. Hän oli taistellut kuin
kelpo sotamies ainakin. Se oli vain tuo hänen näkemänsä
kaikenlainen kauheus, mikä oli pelästyttänyt hänet niin, ettei hän
voinut enää nähdä muuta kuin pahaa. Sodasta johtui kaikki hänen
surunsa. Hän ajatteli, että koko luonto vihaa häntä siksi, että hän oli
ottanut osaa moiseen. Ne, jotka tietävät enemmän, voivat lohdutella
itseään sillä, että ovat sotineet isänmaansa ja kunnian puolesta. Mitä
hän sellaisesta tiesi? Hän vain tunsi, että kaikki vihaavat häntä siksi,
että hän oli vuodattanut verta ja tehnyt vahinkoa.

Siihen aikaan, jolloin majurinrouva ajettiin pois Ekebystä, asui


mies tuvassaan yksin. Kuollut oli vaimo, ja pojat olivat poissa.
Markkina-aikaan täyttyi metsätorppa kuitenkin vierailla.
Mustatukkaiset, tummaihoiset vintiöt majoittuivat sinne. He viihtyivät
parhaiten sellaisen luona, jota enimmän kammoivat. Pienet
pitkäkarvaiset hevoset kiipesivät silloin metsätietä vetäen kärryjä,
kuormana tinauskaluja, lapsia, riepumyttyjä. Aikaisin vanhentuneet
naiset, joiden kasvot olivat turvonneet tupakoimisesta ja
juopottelusta, ja miehet, joilla oli kalvaat, terävät kasvot ja jäntevät
ruumiit, seurasivat kärryjä. Kun mustalaiset tulivat metsätorppaan,
syntyi siellä huoleton elämä! Viinaa ja kortit ja äänekkään remun he
toivat matkassaan. Varkauksista ja hevosenvaihdoista ja verisistä
tappeluista he tiesivät kertoa.

Perjantaina alkoivat Brobyn markkinat, ja silloin tapettiin Lennart-


kapteeni. Vahva Maunu, joka antoi surmaniskun, oli metsätorpan
ukon poika. Kun mustalaiset istuivat sunnuntaina iltapuolella
torpassa, ojensivat he siis vanhalle Jan Hökille pulloaan tavallista
useammin ja haastelivat hänen kanssaan vankilaelämästä ja
vanginruoasta, sillä sellaista he olivat usein kokeneet.

Vanhus istui veistopölkyllä uuninnurkassa ja puhui vähän. Hänen


suuret,
kiillottomat silmänsä tuijottivat hurjaa joukkoa, joka täytti pirtin.
Hämärä oli tullut, mutta kuivat puut loimusivat valaisten liedessä.
Rääsyjä, surkeutta ja tuimaa hätää ne valaisivat.

Silloin avautui ovi aivan hiljaa, ja tupaan astui kaksi naista. Tulija
oli Elisabet-kreivitär, jota seurasi Brobyn papin tytär. Merkilliseltä
näytti vanhuksesta, kun hän, tuo rakastettava ja suloista kauneutta
hehkuva, joutui takkatulen valopiiriin. Hän kertoi pirtissä olijoille,
ettei Gösta Berlingiä ollut nähty Ekebyssä Lennart-kapteenin
kuoleman jälkeen. Kreivitär ja hänen palvelijattarensa olivat
samonneet metsässä etsimässä häntä koko iltapäivän. Nyt hän näki
täällä miehiä, jotka olivat kulkeneet paljon ja tunsivat kaikki polut.
Olivatko he nähneet Gösta Berlingiä? Kreivitär oli tullut levähtämään
ja kysymään, olivatko he nähneet häntä.

Se oli turha kysymys. Kukaan ei ollut häntä nähnyt.

He toivat hänelle tuolin. Hän vaipui istumaan ja oli hetkisen aivan


ääneti. Melu tuvassa oli vaiennut. Kaikki katsoivat ja ihmettelivät
häntä. Sitten hän alkoi pelätä tätä hiljaisuutta, hätkähti ja koetti etsiä
vähäpätöistä puheenaihetta.

Hän kääntyi nurkassa istuvan ukon puoleen. "Muistan kuulleeni,


että te olette ollut sotamiehenä, vaari", hän sanoi. "Kertokaapa
jotakin sodasta!"

Syntyi kivettynyt hiljaisuus. Ukko istui kuin ei olisi kuullutkaan.

"Minusta olisi hyvin hauskaa kuulla sodasta sellaisen miehen


suusta, joka on itse ollut siellä", jatkoi kreivitär, mutta lopetti heti,
sillä Brobyn papin tytär pudisti hänelle päätään. Hän puhui
varmaankin sopimattomia. Kaikki läsnäolijat katsoivat häntä, ikään
kuin hän olisi rikkonut sopivaisuuden yksinkertaisinta lakia. Äkkiä
eräs mustalaisvaimo korotti äänensä ja kysyi:

"Hän on varmaankin entinen Borgin kreivitär?"

"Niin olen."

"Se oli toista kuin juosta pitkin metsiä etsimässä hullua pappia.
Hyi, sellaista vaihtokauppaa."

Kreivitär nousi ja sanoi hyvästi. Hän oli tarpeeksi levännyt. Nainen,


joka oli puhunut, seurasi häntä oven ulkopuolelle.

"Kreivitär ymmärtää", sanoi hän, "että minun piti sanoa jotakin,


sillä vaarin kanssa ei saa puhua sodasta. Hän ei kärsi koko sanaa.
Minä tarkoitin vain hyvää, nähkääs."

Kreivitär Elisabet kiiruhti pois, mutta pysähtyi äkkiä. Hän näki


uhkaavan metsän, pimentävän vuoren ja huuruisen lammen.
Kauheata mahtoi olla täällä sen elämä, jonka mieli oli täynnä pahoja
muistoja. Hän sääli vanhusta, joka oli sisällä yksin, tummat kulkurit
seuranaan.

"Neitsyt Anna-Liisa", hän sanoi, "mennään takaisin! Ne olivat hyviä


meille, mutta minä käyttäydyin huonosti. Haluan puhua vanhuksen
kanssa iloisemmista asioista."

Ja onnellisena, kun oli löytänyt jonkun lohdutettavan, hän meni


takaisin tupaan.

"Minä luulen", sanoi hän, "että Gösta Berling harhailee täällä


metsässä ja aikoo päättää päivänsä. On sen vuoksi tärkeätä löytää
hänet pian ja estää hänet siitä. Minä ja neitsyeni Anna-Liisa
luulimme nähneemme hänet vilahdukselta, mutta sitten hän katosi
silmistämme. Hän kuljeksii sen vuoren seutuvilla, jolta Nygårdin tyttö
heittäytyi rotkoon ja kuoli. Tulin ajatelleeksi, että minun nyt ei
tarvinne mennä hakemaan apua aina Ekebystä asti. Täällä on monta
reipasta miestä, jotka voisivat ottaa hänet helposti kiinni."

"Matkaan, miehet!" huudahti mustalaisakka. "Kun kreivitär ei pidä


itseään liian hyvänä pyytääkseen palvelusta metsän kansalta, niin
heidän pitää mennä heti."

Miehet nousivat heti ja menivät etsimään.

Vanha Jan Hök istui hiljaa ja tuijotti eteensä kiillottomin silmin.


Pelottavan synkkänä ja kovana hän istui siinä. Nuori rouva ei löytänyt
sanoja hänelle virkkaakseen. Silloin hän näki, että yksi lapsista
makasi sairaana olkikuvolla ja huomasi, että erään naisen käsi oli
kipeä.

Hän alkoi heti vaalia sairaita. Hän tuli kohta loruavien naisten
hyväksi ystäväksi ja näytätti itselleen pienimmät lapset.

Tunnin päästä tulivat miehet takaisin. He toivat Gösta Berlingin


sidottuna tupaan. Lattialle takkatulen eteen he laskivat hänet. Hänen
vaatteensa olivat rikki ja likaiset, hänen kasvonsa kurjan näköiset ja
silmänsä hurjat. Kauhea oli hänen retkensä ollut näinä päivinä:
kostealla maalla oli hän maannut, hän oli työntänyt kätensä ja
kasvonsa sammaleeseen ja multaan, kaahaillut yli louhikoiden ja
tunkeutunut läpi tiheimpien viitojen. Vapaaehtoisesti hän ei ollut
miehiä seurannut, mutta he olivat voittaneet ja sitoneet hänet.

Kun hänen vaimonsa näki hänet sellaisena, niin hän suuttui. Hän
ei päästänyt hänen sidottuja jäseniään, vaan antoi hänen maata
lattialla. Halveksuen hän kääntyi hänestä pois.

"Millaiselta näytät!" hän sanoi.

"Sinun silmiesi eteen en aikonutkaan enää tulla", vastasi Gösta.

"Enkö minä siis olekaan sinun vaimosi? Eikö minulla ole oikeutta
odottaa, että sinä tulet ja uskot minulle surusi? Katkeran tuskaisena
olen minä odottanut sinua nämä kaksi päivää."

"Minähän olen syypää Lennart-kapteenin kuolemaan. Kuinka olisin


voinut näyttäytyä sinulle? Kuinka olisin tohtinut?"

"Pelkuri et ole juuri ollut, Gösta."

"Ainoa hyvä, mitä voin sinulle tehdä, Elisabet, on vapauttaa sinut


itsestäni."

Sanomaton halveksimus leimahti kreivittären rypistettyjen kulmain


alta
Göstaa kohti.

"Itsemurhaajan vaimoksiko sinä tahdot minut tehdä!"

Göstan kasvot vääristyivät.

"Elisabet, mennään ulos hiljaiseen metsään ja puhellaan siellä."

"Miksi eivät nämä ihmiset saisi meitä kuulla?" huudahti kreivitär


puhuen korkealla äänellä. "Olemmeko me parempia kuin kukaan
heistä? Onko yksikään heistä tuottanut enemmän surua ja vahinkoa
kuin me? He ovat metsän ja maantien lapsia, heitä vihaavat kaikki.
Anna heidän kuulla, miten synti ja suru ajavat Ekebyn hallitsijaakin,
kaikkien rakastamaa Gösta Berlingiä! Luuletko sinä, että sinun
vaimosi pitää itseään heitä parempana — vai luuletko sinä itse
olevasi?"

Gösta nousi vaivalloisesti kyynäräisilleen ja katsoi häntä leimuavan


uhkamielisesti. "Minä en ole niin kurja kuin sinä luulet."

Silloin sai Elisabet kuulla näiden kahden päivän vaiheet.


Ensimmäisen vuorokauden harhaili Gösta metsässä tunnontuskien
ajamana. Hän ei voinut sietää ihmisten katseita. Mutta hän ei
aikonut kuolla. Hän aikoi lähteä vieraille maille. — Sunnuntaina
laskihe hän kuitenkin alas kukkuloilta ja meni Bron kirkolle. Vielä
kerran hän tahtoi nähdä kansan: Löfsjön kihlakunnan köyhän,
nälkäisen kansan, jota hän oli uneksinut saavansa palvella, silloin
kun istui Brobyn papin häpeäkeon vieressä, kansan, jota hän oli
ruvennut rakastamaan silloin kun näki sen yöllä vievän kuollutta
Nygårdin tyttöä.

Jumalanpalvelus oli alkanut, kun hän tuli kirkkoon. Hän pujahti


ylös lehterille ja katsoi sieltä kansaa. Julma tuska valtasi hänet
silloin. Hän olisi tahtonut puhua kansalle, lohduttaa sitä sen
köyhyydessä ja toivottomuudessa. Jospa hän olisi saanut puhua
Jumalan huoneessa, niin hänellä olisi ollut, niin toivoton kuin hän itse
olikin, toivon ja vapahduksen sanat kaikille.

Silloin hän poistui kirkosta, meni sakaristoon ja kirjoitti sen


kuulutuksen, jonka hänen vaimonsa jo tunsi. Hän oli siinä luvannut,
että Ekebyssä ryhdytään jälleen työhön ja viljaa jaetaan enimmän
tarvitseville. Hän oli toivonut, että hänen vaimonsa ja kavaljeerit
täyttäisivät hänen lupauksensa, kun hän itse oli poissa.

Tultuaan ulos hän näki ruumisarkun kunnantuvan luona. Se oli


karkeatekoinen, kiireessä veistetty, mutta sitä koristivat musta harso
ja puolukanvarpuiset seppeleet. Hän arvasi, että se oli Lennart-
kapteenin. Kansa oli varmaankin pyytänyt kapteeninrouvaa
kiirehtimään hautajaisia, niin että myös markkinarahvaan suuri
joukko saisi olla läsnä hautajaisissa.

Hän seisoi ja katseli arkkua, kun raskas käsi laskeusi hänen


olalleen.
Sintram oli tullut hänen luokseen.

"Gösta", hän sanoi, "jos tahdot tehdä kunnon kepposen jollekulle,


niin ota ja kuole. Ei ole kiverämpää, ovelampaa temppua kuin kuolla,
ei kujetta, joka pettää rehellistä, pahaa-aavistamatonta miestä
pahemmin. Ota sinä ja kuole, sanon minä!"

Kauhistuen kuunteli Gösta, mitä ilkimys puhui. Tämä valitteli hyvin


harkittujen suunnitelmainsa luhistumista. Autiot seudut oli hän
tahtonut nähdä Lövenin rannalla. Sentähden hän oli tehnyt
kavaljeerit isänniksi, sentähden hän oli antanut Brobyn papin
köyhdyttää kansaa, sentähden hän oli saattanut maan kuivuuteen ja
nälänhätään. Brobyn markkinoilla piti lopullisen taistelun tapahtua.
Onnettomuuksien kiihdyttämänä piti kansan silloin villiytyä
murhaamaan ja varastamaan. Siitä olisi jouduttu oikeudenkäyntiin, ja
se olisi lopen köyhdyttänyt kansan. Nälänhätä, mellastus ja
kaikenlaiset tuhot olisivat riehuneet. Maa olisi tullut lopulta niin
kamalaksi ja vihattavaksi, ettei kukaan olisi voinut siinä asua, ja se
kaikki olisi ollut Sintramin työtä. Hänen ilonsa ja ylpeytensä se olisi
ollut, sillä hän oli paha. Hän rakasti autioita seutuja,
muokkaamatonta maata. Mutta tuo, joka oli tiennyt kuolla oikealla
hetkellä, oli turmellut häneltä kaikki.

Silloin kysyi Gösta, mitä se sellainen olisi toimittanut.


"Se olisi minusta ollut mieleistä, Gösta, sillä minä olen paha. Minä
olen tunturien eräkarhu, minä olen tasangon lumimyrsky, minusta on
mieleistä murhata ja vainota. Pois, sanon minä, pois ihmiset ja
ihmisten työt! Minä en pidä niistä. Minä saatan antaa heidän juosta
kynsieni välitse ja tehdä syrjähyppyjä, — sekin voi tuottaa hetkellistä
hupia — mutta nyt minä olin kyllästynyt leikkiin, Gösta, nyt minä
tahdoin iskeä oikein kiinni, nyt minä tahdoin tappaa ja turmella."

Hän oli hullu, ihka hullu. Hän alkoi kauan sitten leikillä näitä
helvetin kujeita, ja nyt oli paha vasta saanut voiton, nyt hän uskoi
olevansa ihan hornan henki. Nyt hän oli ravinnut ja kasvattanut
pahaa sisässään niin, että se valtasi hänen sielunsa kokonaan. Niinpä
ilkeys voi tehdä ihmiset hulluiksi kuten rakkaus ja ainainen
pohtiminen.

Hän oli raivoissaan, tuo ilkeä tehtaanpatruuna, ja alkoi tempoa


vihoissaan arkun seppeleitä ja harsoa, mutta silloin lausui Gösta
Berling:

"Älä koske arkkuun!"

"Kas, kas, kas, vai älä koske! Heh, minä käännän Lennart-ystäväni
maahan ja poljen hänen seppeleitään. Etkö sinä näe, mitä hän on
minulle tehnyt? Etkö näe, miten hienoissa, harmaissa vaunuissa
minä ajelen?"

Ja Gösta Berling näki silloin vanginrattaat, joiden luona seisoivat


nimismies ja vanginvartijat odottaen kirkkomaan aidan vieressä.

"Kas, kas, kas, enkö lähetä kiitosta Helgesäterin kapteeninrouvalle


siitä, että hän eilen istahti lukemaan vanhoja papereita, etsien
todistuksia minua vastaan tuossa ruutiasiassa, tiedäthän? Eikö minun
pidä ilmoittaa hänelle, että hänen olisi paremmin sopinut panna
kaljaa ja paistaa pullia kuin lähettää kimppuuni nimismies ja
vanginvartijat? Eikö minun pidä saada mitään niistä kyynelistä, jotka
itkin taivuttaakseni Scharlingin laskemaan minut tänne lukemaan
rukousta kelpo ystäväni ruumisarkun ääressä?"

Ja hän alkoi taaskin repiä harsoa.

Silloin meni Gösta Berling aivan hänen viereensä ja tarttui häntä


käsivarsiin.

"Minä annan vaikka mitä, jos ei patruuna koske arkkuun", hän


sanoi.

"Tee mitä tahdot", sanoi hullu. "Huuda jos tahdot. Ehdin aina
jotakin ennen kuin nimismies tulee. Tappele kanssani, jos niin
tahdot! Se on hauska näky näin kirkkomäellä. Tapellaan seppeleiden
ja paarivaatteiden seassa!"

"Tahdon ostaa rauhan vainajalle millä hinnalla tahansa,


tehtaanpatruuna. Ottakaa henkeni, ottakaa kaikki!"

"Sinä lupaat suuria, poikani."

"Voitte koettaa, tehtaanpatruuna."

"No, mene sitten ja tapa itsesi!"

"Sen teen, mutta ensin täytyy arkun päästä varmasti maahan."

Niin päätettiin. Sintram vannotti valan Göstalla, ettei tämä ole


elävien ilmoilla kahdentoista tunnin päästä Lennart-kapteenin
hautaamisesta. "Niinpähän tiedän, ettei sinusta voi koskaan tulla
kunnon miestä", sanoi hän.

Se oli Gösta Berlingin helppo luvata. Hän oli iloinen, kun saattoi
nyt antaa vaimolleen vapauden. Tunnontuskat olivat kiusanneet ja
väsyttäneet häntä näännyksiin saakka. Ainoa, mikä häntä kauhistutti,
oli se, että hän oli luvannut majurinrouvalle elävänsä niin kauan kuin
Brobyn papin tytär on palvelijattarena Ekebyssä. Mutta Sintram
sanoi, ettei häntä voitukaan nyt enää pitää palvelijattarena, koska
hän oli perinyt isänsä suuret rikkaudet. Gösta väitti, että Brobyn
pappi oli kätkenyt omaisuutensa niin, ettei kukaan voinut löytää
hänen aarteitaan. Silloin hymyili Sintram ja sanoi, että ne oli kätketty
kyyhkysten pesäin taakse Brobyn kirkonkellotapuliin. Ja hän meni.
Sitten lähti Gösta takaisin metsään. Hänestä näytti olevan parhainta
kuolla sillä paikalla, mistä Nygårdin tyttö oli viskautunut kuoliaaksi.
Siellä hän oli harhaillut koko iltapäivän. Hän oli nähnyt vaimonsa
metsässä; siksi hän ei voinut päättää heti päiviään.

Näin hän kertoi vaimolleen maatessaan sidottuna metsätorpan


lattialla.

"Oi", sanoi Elisabet suruisesti, kun Gösta vaikeni, "kuinka hyvin


tunnen taaskin tämän! Sankarineleitä, sankarinkomeutta! Aina valmis
pistämään kädet takkavalkeaan, Gösta, aina valmis hukkaamaan
itsensä. Miten se kerran näytti minusta suurelta! Miten nyt ylistän
levollisuutta ja mielenmalttia! Kuinka hyödytit sinä vainajaa sellaisella
lupauksella? Mitäpä, vaikka Sintram olisikin ehtinyt kaataa arkun,
repiä siitä harson? Arkku olisi kyllä tullut nostetuksi, siihen olisi kai
saatu uutta harsoa, uusia seppeleitä. — Jos sinä olisit pannut kätesi
kelpo miehen ruumisarkulle, siinä Sintramin silmien edessä, ja
vannonut auttavasi tätä köyhää kansaa, jota Sintram oli tahtonut
tuhota, niin siitä olisin nyt sinua ylistänyt. Jos olisit, kun näit kansan
kirkossa, ajatellut: 'Minä tahdon sitä auttaa, minä tahdon käyttää
kaikki voimani sitä auttaakseni', etkä olisi sälyttänyt tätä kuormaa
heikolle vaimollesi ja vanhoille miehille, joiden voima riutuu, niin
siitäkin olisin sinua kiittänyt."

Gösta Berling makasi hetkisen hiljaa.

"Me kavaljeerit emme ole vapaita miehiä", hän sanoi viimein. "Me
olemme luvanneet toisillemme elää ilon vuoksi ja vain pelkästään
ilon. Voi meitä kaikkia, jos yksi pettää!"

"Voi sinua", sanoi kreivitär suuttuen, "että sinun täytyy olla


kavaljeereista suurin raukka ja hitaampi parannukseen kuin yksikään
heistä. Eilen iltapuolella istuivat he kaikki yksitoista
kavaljeerirakennuksessa, ja synkkiä he kaikki olivat. Sinä olit poissa,
Lennart-kapteeni oli poissa, Ekebyn loisto ja kunnia mennyt.
Totitarjottimen he jättivät koskematta: minulle he eivät tahtoneet
näyttäytyä. Silloin meni neitsyt Anna-Liisa, joka tässä seisoo, heidän
luokseen. Sinä tiedät, että hän on uuttera pikku nainen, joka on
vuosikaudet taistellut huonoa hoitoa ja tuhlausta vastaan.

"'Tänään kävin taas kotona ja koetin etsiä kiltin isäni rahoja', hän
sanoi kavaljeereille, 'mutta en vain löytänyt. Kaikkien velkakirjain
päälle on vedetty risti, ja laatikot ja kaapit ovat tyhjät.'
"'Sääli neitsyt Anna-Liisaa', arveli Beerencreutz.

"'Kun majurinrouva lähti Ekebystä', jatkoi Brobyn papin tytär, 'niin


hän pyysi minua hoitamaan taloaan. Ja jos minä olisin nyt löytänyt
kiltin isäni rahat, niin olisin rakennuttanut Ekebyn uudestaan. Mutta
kun en löytänyt kotoa mitään muuta ottamista, niin otin vanhan isäni
häpeäkeon, sillä suuri häpeä odottaa minua, kun emäntä tulee
takaisin ja kysyy, mitä minä olen tehnyt Ekebylle.'

"'Älkäähän olko millännekään siitä, johon ette ole syypää, neitsyt


Anna-Liisa', sanoi taaskin Beerencreutz.

"'Mutta minä en ottanutkaan häpeäkekoa pelkästään itseni


varalta', sanoi Brobyn papin tytär. 'Minä toin myös osan kelpo herrain
laskuun. Olkaa hyvä, hyvät herrat! Kiltti isäni ei ollut ainoa häpeän ja
vahingon tekijä maailmassa.'

"Ja hän meni miehen luota toisen luo ja pisti kunkin eteen pari
kuivaa tikkua. Toiset kiroilivat, mutta useimmat antoivat hänen tehdä
niin. Lopuksi sanoi Beerencreutz levollisesti kuin ylhäisen herran
sopii:

"'Hyvä on. Kiitokset vain neitsyelle. Neitsyt voi nyt mennä.'

"Kun Anna-Liisa meni, Beerencreutz löi nyrkkinsä pöytään niin,


että lasit hyppivät.

"'Tästä hetkestä', hän sanoi, 'olen ehdottomasti raitis! Tällaista ei


viina enää kertaakaan tuota minulle.' Sitten hän nousi ja meni ulos.

"Kaikki muut seurasivat häntä vähitellen. Arvaatko, mihin he


menivät, Gösta? Niin, joelle, niemelle, jossa Ekebyn mylly ja paja
olivat, ja siellä he alkoivat tehdä työtä. He alkoivat vetää hirsiä ja
kiviä ja raivata paikkaa. Ukoilla on nyt ollut kova aika. Suru on
sortanut useimmat heistä. Nyt he eivät voi enää kestää sitä häpeätä,
että ovat hävittäneet Ekebyn. Hyvin tiedän, että te kavaljeerit
suorastaan häpeätte työntekoa; mutta nyt nuo toiset ovat ottaneet
sen häpeän niskoilleen. Vieläpä muutakin, Gösta, he aikovat lähettää
neitsyt Anna-Liisan majurinrouvan luo noutamaan tätä takaisin.
Mutta sinä, mitä sinä teet?"

Gösta keksi vielä yhden vastauksen.

"Mitäpä vaatia minulta, virasta potkitulta papilta? Hyljänneet ovat


minut ihmiset, Jumala minua vihaa."

"Minäkin olin tänään Bron kirkossa, Gösta. Kaksi naista lähetti


sinulle terveisensä. 'Sano Göstalle', sanoi Marianne Sinclaire, 'ettei
nainen halua hävetä sen puolesta, jota on rakastanut.' 'Sano
Göstalle', sanoi Anna Stjärnhök, 'että minun on nyt hyvä olla. Minä
hallitsen itse talojani. Ihmiset sanovat, että minusta tulee toinen
majurinrouva. Minä en ajattele rakkautta, ainoastaan työtä.
Bergalaisetkin ovat päässeet surun ensi katkeruudesta. Mutta me
kaikki suremme Göstaa. Me luotamme häneen ja rukoilemme
Jumalaa hänen puolestaan — mutta milloin, milloin hänestä tulee
mies'?

"Näetkös nyt, ovatko ihmiset hylänneet sinut?" jatkoi kreivitär.


"Liian paljon rakkautta olet sinä saanut, se on sinun onnettomuutesi.
Miehet ja naiset ovat rakastaneet sinua. Kun sinä vain olet nauranut
ja laskenut leikkiä, kun sinä vain olet soittanut ja laulanut, ovat he
antaneet sinulle kaikki anteeksi. Mitä sinä olet suvainnut tehdä, on
ollut heistä hyvää. Ja sinä tohdit sanoa olevasi hylätty. — Vai vihaa
Jumala sinua? Miksi et jäänyt katsomaan Lennart-kapteenin
hautajaisia?

"Koska hän oli kuollut markkinapäivänä, oli tieto hänestä levinnyt


laajalle. Jumalanpalveluksen jälkeen tuli tuhansittain väkeä kirkolle.
Koko kirkkomaa, aitamuuri ja sen takainen kenttä olivat täynnä
ihmisiä. Odotettiin vain vanhaa rovastia. Hän oli sairas eikä
saarnannut. Mutta Lennart-kapteenin hautajaisiin hän oli luvannut
tulla. Ja niin hän tuli, pää kumarassa ja unelmoiden omia unelmiaan,
kuten hän nyt vanhoilla päivillään tavallisesti tekee, ja asettui
ruumissaaton etunenään. Mitään erityistä hän ei huomannut. Hän oli
kävellyt monessa ruumissaatossa, tuo vanhus. Hän kulki tuttua
tietään eikä nostanut katsettaan maasta. Hän luki rukoukset ja heitti
multaa arkulle eikä huomannut vieläkään mitään. Mutta sitten viritti
lukkari virren. Minä en uskaltanut toivoa, että lukkarin karkea ääni,
joka tavallisesti sai aina laulaa yksinään, olisi herättänyt rovastin
hänen unelmistaan.

"Mutta lukkari ei saanut laulaa yksinään. Sadat ja monetkin sadat


äänet yhtyivät virteen. Silloin rovasti heräsi unelmistaan. Hän hipaisi
silmiään ja nousi lapioidulle hautakummulle katselemaan. Koskaan ei
hän ollut nähnyt sellaista surevain joukkoa. Miehillä oli päässä
vanhat, kuluneet hautajaishatut. Naisilla oli valkoiset, leveäreunaiset
esiliinat. Kaikki he veisasivat, kaikilla oli kyyneleet silmissä, — kaikilla
oli suru.

"Silloin alkoi vanha rovasti vavista ja tuskailla. Mitä sanoisi hän


tälle kansalle, jota on kohdannut suru? Oli välttämätöntä puhua jokin
lohdutuksen sana sille.

"Kun virsi oli vaiennut, niin hän ojensi ja levitti kätensä kansaa
kohti.
Welcome to Our Bookstore - The Ultimate Destination for Book Lovers
Are you passionate about testbank and eager to explore new worlds of
knowledge? At our website, we offer a vast collection of books that
cater to every interest and age group. From classic literature to
specialized publications, self-help books, and children’s stories, we
have it all! Each book is a gateway to new adventures, helping you
expand your knowledge and nourish your soul
Experience Convenient and Enjoyable Book Shopping Our website is more
than just an online bookstore—it’s a bridge connecting readers to the
timeless values of culture and wisdom. With a sleek and user-friendly
interface and a smart search system, you can find your favorite books
quickly and easily. Enjoy special promotions, fast home delivery, and
a seamless shopping experience that saves you time and enhances your
love for reading.
Let us accompany you on the journey of exploring knowledge and
personal growth!

ebooksecure.com

You might also like