C# and Python - Lakeside School
Download
Report
Transcript C# and Python - Lakeside School
CS Final Project 2010
Rohan Paramesh
C# AND PYTHON
The Programs
Implementing 3 programs each in C# and
Python
Student Scheduler
Assigns courses and students, sorts according to
different criteria
Twenty Questions
A binary tree of QuestionNodes that writes out to and
reads from a text file
Towers of Hanoi
Recursively provides a solution to the puzzle
C#
Microsoft’s current language
Compiled
Java-like
Syntax
Logic
An atmosphere of whatever Java got wrong is
fixed in C#
Python
Guido van Rossum
Emphasis on readability
Significant differences
Logic
Style
Syntax
Very popular nowadays with amateur
developers and some large companies
Google
Towers of Hanoi
Java
C#
public static void solveHanoi(int
disks, int from, int other, int
to) {
public static void SolveHanoi(int
disks, int from, int other, int
to)
if (disks <= 0)
return;
solveHanoi(disks-1, from, to,
other);
System.out.println("Move disk "
+ disks + " from pole " + from +
" to pole " + to + ".");
moves++;
solveHanoi(disks-1, other,
from, to);
}
{
if (disks <= 0)
return;
SolveHanoi(disks - 1,
from, to, other);
Console.WriteLine("Move
disk " + disks + " from pole " +
from + " to pole " + to + ".");
moves++;
SolveHanoi(disks - 1,
other, from, to);
}
Towers of Hanoi
Java
Python
def solve_hanoi(disks, start, other, dest):
public static void solveHanoi(int
disks, int from, int other, int
to) {
if (disks <= 0)
return;
solveHanoi(disks-1, from, to,
other);
System.out.println("Move disk "
+ disks + " from pole " + from +
" to pole " + to + ".");
moves++;
solveHanoi(disks-1, other,
from, to);
}
'''The main recursive method that solves the Tower of
Hanoi puzzle. This method calls itself and also increments
the number of moves.
disks -- the number of disks (integer)
start -- the starting peg (determined by class constant)
other -- the intermediate peg
dest -- the destination peg
'''
if (disks <= 0):
return
solve_hanoi(disks-1, start, dest, other)
print "Move disk ", disks, " from pole ", start, " to pole ",
dest, "."
global moves
moves += 1
solve_hanoi(disks-1, other, start, dest)
Comparison
Scope
Methods and Parameters
Types
Compiled vs. Interpreted
I/O
Freedom/Restrictions
Accuracy
Readability