Co dziwne, jeśli chodzi o pytanie „dla początkujących”, nadal możesz uzyskać wiele odpowiedzi. Fakt, że potrafię pisać, nie oznacza, że potrafię "python". Naprawdę lubię odpowiedź gnibblera zamiast "bałagan". Dziękuję wszystkim za odpowiedzi i - zachowaj prostotę, specjalne dzięki gnibblerowi.
hhh
2
To nie jest szalona różnorodność odpowiedzi. To dwie odmiany. Jedno użycie, rangea chr()drugie gotowe listy string, o których wiele osób by nie pomyślało.
Uważam, że string.ascii_lowercase działał już w Pythonie 2.x, więc dla pewności zawsze używaj ascii_lowercase.
johk95
1
@ johk95, właściwie str.lowercasezależy od lokalizacji, więc nie był to najlepszy wybór. Zastąpiłem go w mojej odpowiedzi
John La Rooy
Cześć, czy mógłbyś mi powiedzieć, czy to jest dostępne tylko w języku angielskim? czy nie mogę uzyskać tego samego w innych językach? Dzięki i
pozdrawiam
48
Zakładając, że jest to praca domowa ;-) - nie ma potrzeby przywoływania bibliotek itp. - prawdopodobnie oczekuje, że użyjesz range () z chr / ord, tak jak poniżej:
for i in range(ord('a'), ord('n')+1):print chr(i),
Co do reszty, po prostu graj trochę więcej z zakresem ()
To rozwiązanie wykorzystuje tablicę ASCII . ordpobiera wartość ascii od postaci i chrodwrotnie.
Zastosuj to, co wiesz o listach
>>> 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']
Witamy w StackOverflow. Spróbuj jaśniej wyjaśnić, dlaczego jest to pełna odpowiedź na pytanie.
Jeroen Heier
Dzięki. Podoba mi się, jak to budujesz.
hmacias
2
#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)]
Odpowiedź na to pytanie jest prosta, po prostu zrób listę o nazwie ABC w następujący sposób:
ABC =['abcdefghijklmnopqrstuvwxyz']
A kiedy chcesz się do tego odnieść, po prostu zrób:
print ABC[0:9]#prints abcdefghijprint ABC #prints abcdefghijklmnopqrstuvwxyzfor x in range(0,25):if x %2==0:print ABC[x]#prints acegikmoqsuwy (all odd numbered letters)
Spróbuj również tego, aby zepsuć twoje urządzenie: D
##Try this and call it AlphabetSoup.py:
ABC =['abcdefghijklmnopqrstuvwxyz']try:whileTrue: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,' ',exceptKeyboardInterrupt:pass
To jest twoje drugie pytanie: string.lowercase[ord('a')-97:ord('n')-97:2]ponieważ 97==ord('a')- jeśli chcesz się trochę nauczyć, resztę powinieneś wymyślić sam ;-)
Funkcja zip, pełne wyjaśnienie , a list of tuples, where the i-th tuple contains the i-th element from each of the argument sequences or iterables.[...]konstrukcja zwrotów nazywana jest zrozumieniem listy , bardzo fajna funkcja!
range
achr()
drugie gotowe listystring
, o których wiele osób by nie pomyślało.Odpowiedzi:
Aby zrobić adresy URL, możesz użyć czegoś takiego
źródło
str.lowercase
zależy od lokalizacji, więc nie był to najlepszy wybór. Zastąpiłem go w mojej odpowiedziZakładając, że jest to praca domowa ;-) - nie ma potrzeby przywoływania bibliotek itp. - prawdopodobnie oczekuje, że użyjesz range () z chr / ord, tak jak poniżej:
Co do reszty, po prostu graj trochę więcej z zakresem ()
źródło
Poradnik:
i
i
źródło
źródło
Uzyskaj listę z żądanymi wartościami
lub
To rozwiązanie wykorzystuje tablicę ASCII .
ord
pobiera wartość ascii od postaci ichr
odwrotnie.Zastosuj to, co wiesz o listach
źródło
źródło
tuple(string.ascii_lowercase)
i
źródło
Wynik
źródło
źródło
Odpowiedź na to pytanie jest prosta, po prostu zrób listę o nazwie ABC w następujący sposób:
A kiedy chcesz się do tego odnieść, po prostu zrób:
Spróbuj również tego, aby zepsuć twoje urządzenie: D
źródło
Próbować:
źródło
To jest twoje drugie pytanie:
string.lowercase[ord('a')-97:ord('n')-97:2]
ponieważ97==ord('a')
- jeśli chcesz się trochę nauczyć, resztę powinieneś wymyślić sam ;-)źródło
Mam nadzieję, że to pomoże:
źródło
O odpowiedzi Gnibblera.
Funkcja zip, pełne wyjaśnienie ,
a list of tuples, where the i-th tuple contains the i-th element from each of the argument sequences or iterables.
[...]
konstrukcja zwrotów nazywana jest zrozumieniem listy , bardzo fajna funkcja!źródło
źródło
Inny sposób na zrobienie tego
Wynik
Czym to się różni od innych odpowiedzi
enumerate
w połączeniu z listą pojmowania i formatem strźródło