Python Forum
Inconsistency in Python programming language?
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Inconsistency in Python programming language?
#30
(Oct-06-2019, 08:51 AM)buran Wrote: It's better to use ast.literal_eval as it is safer compared to eval

Thanks buran, for your kind suggestion. Noted for future use.

It is seen that ast.literal_eval() too, throws error in case of mixed strings.

(Oct-06-2019, 08:56 AM)Gribouillis Wrote: If there is still an error, please give full bug report!

Test results for the latest version of func() are placed below:

import ast
import re
from tokenize import generate_tokens, NUMBER
#import io

def func(s):
    t = re.sub(r'\s+', '', s)
    sign = True
    for tok in generate_tokens(iter([t, '']).__next__):
        if sign and tok[1] in ('-', '+'):
            sign = False
            continue
        if tok[0] == NUMBER:
            return ast.literal_eval(t[:tok[3][1]])
        return 0
    return 0
     
if __name__ == '__main__':
    sample = [
        ("45", 45),
        ("4.5", 4.5),
        ("4.5ABC", 4.5),
        ("ABCD", 0),
        ("AB45", 0),
        ("   2  45  7  ", 2457),
        ("    2   4   .   5   7   ", 24.57),
        ("+4.5", 4.5),
        ("-4.5", 4.5),   # AssertionError (see Error Box)
        ]
    for inp, out in sample:
        assert out == func(inp)
        print(func(inp))
Output:
45 4.5 4.5 0 0 2457 24.57 4.5
Error For Last String "-4.5"
Error:
Traceback (most recent call last): File "J:\AdtPython-Practice\00-RoughTesting.py", line 92, in <module> assert out == func(inp) AssertionError
A.D.Tejpal
Reply


Messages In This Thread
RE: Inconsistency in Python programming language? - by adt - Oct-06-2019, 12:19 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Programming robots using Python OscarBoots 5 3,556 Oct-31-2021, 09:38 AM
Last Post: Larz60+
  logo language code into python aayushi98 2 74,695 Jan-26-2021, 09:02 PM
Last Post: Serafim
  Programming Difficult math in Python Huntern 6 4,898 Oct-17-2019, 06:32 AM
Last Post: Huntern
  Terms describing Python Programming language leodavinci1990 3 2,803 Aug-12-2019, 02:48 PM
Last Post: leodavinci1990
  Please help a newbie choose which programming language to learn. yeto 2 3,584 Feb-25-2019, 12:56 AM
Last Post: yeto
  Python Programming Projects for Beginners jack_sparrow007 3 3,391 Dec-26-2018, 07:52 PM
Last Post: micseydel
  How to get image from WolframAlpha by using Python language manhnt 1 2,738 Oct-27-2018, 02:07 PM
Last Post: Larz60+
  Programming Python as a MS Windows app? Brian123 8 4,395 Oct-17-2018, 10:26 PM
Last Post: Brian123
  Help with Python programming mediaos 5 3,848 Aug-08-2018, 01:02 PM
Last Post: Larz60+
  How to make the python default language be 3.6 instead of 2.7 sylas 4 6,885 Jul-06-2018, 06:11 AM
Last Post: sylas

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020