what is new with int conversion in Python 3

Sayth Renshaw flebber.crue at gmail.com
Sun May 22 06:59:45 EDT 2016


On Sunday, 22 May 2016 17:26:51 UTC+10, Sayth Renshaw  wrote:
> I am doing a passage in a book that was written for python 2 i am writing everything in 3.
> 
> This is the author Ivan Idris code to show time difference between python and numpy arrays. The only edit I made was to fix the print statements.
> 
> #!/usr/bin/env/python
> 
> import sys
> from datetime import datetime
> import numpy as np
> 
> """
>  This program demonstrates vector addition the Python way.
>  Run from the command line as follows
> 
>   python vectorsum.py n
> 
>  where n is an integer that specifies the size of the vectors.
> 
>  The first vector to be added contains the squares of 0 up to n.
>  The second vector contains the cubes of 0 up to n.
>  The program prints the last 2 elements of the sum and the elapsed time.
> """
> 
> def numpysum(n):
>    a = np.arange(n) ** 2
>    b = np.arange(n) ** 3
>    c = a + b
> 
>    return c
> 
> def pythonsum(n):
>    a = range(n)
>    b = range(n)
>    c = []
> 
>    for i in range(len(a)):
>        a[i] = i ** 2
>        b[i] = i ** 3
>        c.append(a[i] + b[i])
> 
>    return c
> 
> size = int(sys.argv[1])
> 
> start = datetime.now()
> c = pythonsum(size)
> delta = datetime.now() - start
> print("The last 2 elements of the sum", c[-2:])
> print("PythonSum elapsed time in microseconds", delta.microseconds)
> 
> start = datetime.now()
> c = numpysum(size)
> delta = datetime.now() - start
> print("The last 2 elements of the sum", c[-2:])
> print("NumPySum elapsed time in microseconds", delta.microseconds)
> 
> 
> However when I run this I get a valuerror. So either something has changed with int or datetime I cannot google a consistent answer.
> 
> 
> ---------------------------------------------------------------------------
> ValueError                                Traceback (most recent call last)
> <ipython-input-8-a54a878f293d> in <module>()
>      37    return c
>      38 
> ---> 39 size = int(sys.argv[1])
>      40 
>      41 start = datetime.now()
> 
> ValueError: invalid literal for int() with base 10: '-f'
> 
> Had this before?
> 
> Sayth

Thank you all, I was way wrong. I was invoking it from within ipython notebook which I don't usually use.

Thanks'

Sayth



More information about the Python-list mailing list