This notebook has a couple C programs and shows how they could be written in Python. There are several Python versions for each C program, starting with the most straightforward translation of C to Python, then refactoring to be more and more "Pythonic".


In [ ]:
#include <stdio.h>

#define N (10)

int main(int argc, char *argv[])
{
    int i;
    
    for (i=0; i<N; i++)
        printf("%d %d\n", i, i*i)
}

In [ ]:
N = 10

def main():
    i = 0
    while i < N:
        print("%d %d" % (i, i*i))
        i += 1

In [ ]:
N = 10

def main():
    for i in range(N):
        print("%d %d" % (i, i*i))

In [ ]:
N = 10

def main():
    for i in range(N):
        print(f'{i} {i*i}')

In [ ]:
#include <stdio.h>

#define N (10)

int main(int argc, char *argv[])
{
    int i;
    
    for (i=0; i<argc; i++)
        printf("'%s'\n", argv[i])

In [ ]:
import sys

N = 10

def main():
    i = 0
    while i < len(sys.argv):
        print("'%s'" % sys.argv[i])
        i += 1

In [ ]:
import sys

N = 10

def main():
    for i in range(len(sys.argv)):
        print("'%s'" % sys.argv[i])

In [ ]:
import sys

N = 10

def main():
    for argument in sys.argv:
        print("'%s'" % argument)

In [ ]:
import sys

N = 10

def main():
    for argument in sys.argv:
        print(f"{argument}")