Hướng dẫn range a-z python

1. Print a-n: a b c d e f g h i j k l m n

2. Every second in a-n: a c e g i k m

3. Append a-n to index of urls{hello.com/, hej.com/, ..., hallo.com/}: hello.com/a hej.com/b ... hallo.com/n

dreftymac

30.3k26 gold badges115 silver badges177 bronze badges

asked Jul 6, 2010 at 20:51

2

>>> import string
>>> string.ascii_lowercase[:14]
'abcdefghijklmn'
>>> string.ascii_lowercase[:14:2]
'acegikm'

To do the urls, you could use something like this

[i + j for i, j in zip[list_of_urls, string.ascii_lowercase[:14]]]

answered Jul 6, 2010 at 21:01

John La RooyJohn La Rooy

286k51 gold badges358 silver badges498 bronze badges

3

Assuming this is a homework ;-] - no need to summon libraries etc - it probably expect you to use range[] with chr/ord, like so:

for i in range[ord['a'], ord['n']+1]:
    print chr[i],

For the rest, just play a bit more with the range[]

answered Jul 6, 2010 at 23:55

Nas BanovNas Banov

27.8k6 gold badges46 silver badges67 bronze badges

Hints:

import string
print string.ascii_lowercase

and

for i in xrange[0, 10, 2]:
    print i

and

"hello{0}, world!".format['z']

answered Jul 6, 2010 at 21:01

Wayne WernerWayne Werner

46.8k26 gold badges193 silver badges281 bronze badges

for one in range[97,110]:
    print chr[one]

answered Jul 6, 2010 at 21:02

yedpodtrzitkoyedpodtrzitko

8,4512 gold badges36 silver badges39 bronze badges

Get a list with the desired values

small_letters = map[chr, range[ord['a'], ord['z']+1]]
big_letters = map[chr, range[ord['A'], ord['Z']+1]]
digits = map[chr, range[ord['0'], ord['9']+1]]

or

import string
string.letters
string.uppercase
string.digits

This solution uses the ASCII table. ord gets the ascii value from a character and chr vice versa.

Apply what you know about lists

>>> small_letters = map[chr, range[ord['a'], ord['z']+1]]

>>> an = small_letters[0:[ord['n']-ord['a']+1]]
>>> print[" ".join[an]]
a b c d e f g h i j k l m n

>>> print[" ".join[small_letters[0::2]]]
a c e g i k m o q s u w y

>>> s = small_letters[0:[ord['n']-ord['a']+1]:2]
>>> print[" ".join[s]]
a c e g i k m

>>> urls = ["hello.com/", "hej.com/", "hallo.com/"]
>>> print[[x + y for x, y in zip[urls, an]]]
['hello.com/a', 'hej.com/b', 'hallo.com/c']

answered Jun 22, 2014 at 15:03

Martin ThomaMartin Thoma

113k148 gold badges570 silver badges873 bronze badges

1

import string
print list[string.ascii_lowercase]
# ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']

answered Feb 26, 2016 at 8:24

1

import string
print list[string.ascii_lowercase]
# ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']

and

for c in list[string.ascii_lowercase][:5]:
    ...operation with the first 5 characters

answered Jul 21, 2018 at 4:42

myList = [chr[chNum] for chNum in list[range[ord['a'],ord['z']+1]]]
print[myList]

Output

['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']

Jeroen Heier

3,25615 gold badges31 silver badges32 bronze badges

answered Sep 6, 2019 at 11:03

2

Try:

strng = ""
for i in range[97,123]:
    strng = strng + chr[i]
print[strng]

S. Salman

5701 gold badge4 silver badges22 bronze badges

answered Aug 13, 2015 at 20:51

0

import string

string.printable[10:36]
# abcdefghijklmnopqrstuvwxyz
    
string.printable[10:62]
# abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

answered Sep 25, 2020 at 8:49

WeiloryWeilory

2,01811 silver badges25 bronze badges

#1]
print " ".join[map[chr, range[ord['a'],ord['n']+1]]]

#2]
print " ".join[map[chr, range[ord['a'],ord['n']+1,2]]]

#3]
urls = ["hello.com/", "hej.com/", "hallo.com/"]
an = map[chr, range[ord['a'],ord['n']+1]]
print [ x + y for x,y in zip[urls, an]]

answered Nov 29, 2013 at 16:48

carlos_lmcarlos_lm

5232 gold badges5 silver badges10 bronze badges

list[string.ascii_lowercase]

['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']

Dhia

9,22911 gold badges57 silver badges67 bronze badges

answered Jun 22, 2016 at 5:11

townietownie

1922 silver badges9 bronze badges

The answer to this question is simple, just make a list called ABC like so:

ABC = ['abcdefghijklmnopqrstuvwxyz']

And whenever you need to refer to it, just do:

print ABC[0:9] #prints abcdefghij
print ABC       #prints abcdefghijklmnopqrstuvwxyz
for x in range[0,25]:
    if x % 2 == 0:
        print ABC[x] #prints acegikmoqsuwy [all odd numbered letters]

Also try this to break ur device :D

##Try this and call it AlphabetSoup.py:

ABC = ['abcdefghijklmnopqrstuvwxyz']


try:
    while True:
        for a in ABC:
            for b in ABC:
                for c in ABC:
                    for d in ABC:
                        for e in ABC:
                            for f in ABC:
                                print a, b, c, d, e, f, '    ',
except KeyboardInterrupt:
    pass

answered Dec 18, 2016 at 18:17

0

This is your 2nd question: string.lowercase[ord['a']-97:ord['n']-97:2] because 97==ord['a'] -- if you want to learn a bit you should figure out the rest yourself ;-]

answered Jul 6, 2010 at 21:04

Jochen RitzelJochen Ritzel

102k29 gold badges195 silver badges190 bronze badges

I hope this helps:

import string

alphas = list[string.ascii_letters[:26]]
for chr in alphas:
 print[chr]

answered Aug 9, 2019 at 18:51

About gnibbler's answer.

Zip -function, full explanation, returns a list of tuples, where the i-th tuple contains the i-th element from each of the argument sequences or iterables. [...] construct is called list comprehension, very cool feature!

answered Dec 23, 2010 at 2:22

hhhhhh

48.6k59 gold badges175 silver badges272 bronze badges

# Assign the range of characters
first_char_start = 'a'
last_char = 'n'

# Generate a list of assigned characters [here from 'a' to 'n']
alpha_list = [chr[i] for i in range[ord[first_char], ord[last_char] + 1]]

# Print a-n with spaces: a b c d e f g h i j k l m n
print[" ".join[alpha_list]]

# Every second in a-n: a c e g i k m
print[" ".join[alpha_list[::2]]]

# Append a-n to index of urls{hello.com/, hej.com/, ..., hallo.com/}
# Ex.hello.com/a hej.com/b ... hallo.com/n

#urls: list of urls
results = [i+j for i, j in zip[urls, alpha_list]]

#print new url list 'results' [concatenated two lists element-wise]
print[results]

answered Jun 12, 2021 at 16:02

docjagdocjag

4114 silver badges7 bronze badges

Another way to do it

import string

aalist = list[string.ascii_lowercase]
aaurls = ['alpha.com','bravo.com','chrly.com','delta.com',]
iilen  =  aaurls.__len__[]

ans01 = "".join[ [aalist[0:14]] ]
ans02 = "".join[ [aalist[0:14:2]] ]
ans03 = "".join[ "{vurl}/{vl}\n".format[vl=vlet,vurl=aaurls[vind % iilen]] for vind,vlet in enumerate[aalist[0:14]] ]

print[ans01]
print[ans02]
print[ans03]

Result

abcdefghijklmn
acegikm
alpha.com/a
bravo.com/b
chrly.com/c
delta.com/d
alpha.com/e
bravo.com/f
chrly.com/g
delta.com/h
alpha.com/i
bravo.com/j
chrly.com/k
delta.com/l
alpha.com/m
bravo.com/n

How this differs from the other replies

  • iterate over an arbitrary number of base urls
  • cycle through the urls using modular arithmetic, and do not stop until we run out of letters
  • use enumerate in conjunction with list comprehension and str.format

answered Jun 12, 2019 at 0:08

dreftymacdreftymac

30.3k26 gold badges115 silver badges177 bronze badges

Chủ Đề