Need to make a function that takes in a string and returns the ascii values for each letter in the string in a form of (103, 104, 105, etc.)
            Asked
            
        
        
            Active
            
        
            Viewed 480 times
        
    3 Answers
0
            If you just can't get the ASCII values: what you want is the  ord function https://docs.python.org/3/library/functions.html#ord
This actually gives you the unicode code Point - but that's equivalent in the ASCII range (which is up to 0xFF iirc)
 
    
    
        SV-97
        
- 431
- 3
- 15
- 
                    I tried using the ord function but since it can only take in one character at a time it stumped me since the test code runs it with a string longer that one character – clurb Apr 26 '19 at 06:42
- 
                    Ah well you need to iterate over your string so that you get each character. See for example here: https://stackoverflow.com/questions/538346/iterating-each-character-in-a-string-using-python – SV-97 Apr 26 '19 at 06:45
0
            
            
        Use the ord function for that
In [12]: ord('g')                                                               
Out[12]: 103
In [13]: ord('h')                                                               
Out[13]: 104
In [14]: ord('i')                                                               
Out[14]: 105
As an extra tidbit, use the chr function to convert the ascii value to letter
In [15]: chr(103)                                                               
Out[15]: 'g'
In [16]: chr(104)                                                               
Out[16]: 'h'
In [17]: chr(105)                                                               
Out[17]: 'i'
And as you can guess.
In [18]: chr(ord('g')) == 'g'                                                   
Out[18]: True
To get ascii values for all characters of a string, just run a for loop over all characters
s = 'helloworld'
for c in s:
    print(ord(c))                                                                      
104
101
108
108
111
119
111
114
108
100
 
    
    
        Devesh Kumar Singh
        
- 20,259
- 5
- 21
- 40
0
            
            
        It can be done using the ord() function in python.
One line solution:
string = "ThisIsString!"
[ord(c)] for c in string]
Using for loop
asciis = []
for c in string:
    asciis.append(ord(c))
print(asciis)
[84, 104, 105, 115, 73, 115, 83, 116, 114, 105, 110, 103, 33]
 
    
    
        betelgeuse
        
- 1,136
- 3
- 13
- 25
 
    