C'est une continuation de ceci. Une personne inexpérimentée en Python essaie de frapper 100 traitement du langage 00-04 https://qiita.com/earlgrey914/items/fe1d326880af83d37b22
Une personne inexpérimentée en Python essaie de frapper 100 traitement du langage 05-06 https://qiita.com/earlgrey914/items/e772f1b7e5efea114e1d
e. Qu'est-ce que c'est ça? D'une manière ou d'une autre, c'est devenu si facile à la fois ...?
iinoka.py
x=12
y="Température"
z=22.4
def moziKetsugo(x, y, z):
print(str(x) + "de temps" + y + "Est" + str(z))
moziKetsugo(x, y, z)
La température à 12 heures est de 22.4
Est-ce correct···? N'est-ce pas trop facile ...? Pensons d'un point de vue légèrement usé. Le problème est que si l'argument est la chaîne "x, y, z", alors "y at x is z" est renvoyé. Si les variables sont x = 12, y = "température", z = 22,4, appliquez les caractères et retournez ** N'est-ce pas un problème de création de fonction? (Si oui, écrivez-le un peu plus clairement) Si oui ... En Java, le traitement a été modifié en fonction de la présence ou de l'absence de l'argument (j'ai oublié ce que c'était), mais je me demande si je devrais faire la même chose.
J'ai cherché sur Google.
Il semble y avoir un argument par défaut.
Référence
https://note.nkmk.me/python-argument-default/
Que dis-tu de ça.
enshu07.py
x=12
y="Température"
z=22.4
def moziKetsugo(x="x", y="y", z="z"):
print(str(x) + "de temps" + y + "Est" + str(z))
#Sortie juste
moziKetsugo()
#Sortie avec arguments
moziKetsugo(x, y, z)
y à x est z
La température à 12 heures est de 22.4
Eh bien, je ne comprends pas l'intention de la question, alors faites-moi savoir si quelqu'un peut la comprendre. Je me demande si ça va parce que c'est si facile ...
** ・ Remplacer par (219 --character code) caractères si les lettres minuscules ・ Les autres caractères sont affichés tels quels Utilisez cette fonction pour crypter / décrypter les messages en anglais. ** **
(J'ai utilisé l'énoncé du problème comme titre, mais je suis désolé de ne pas savoir comment casser l'en-tête, donc c'était étrange.)
chiffre, high high ... chi, chi p ha (TOEIC340)
Eh bien, écrivez la composition pour le moment. J'aimerais que vous écriviez autant qu'une phrase simple comme exemple dans la phrase problématique (Punpun
punpun.py
genbun = "the magic words are squeamish ossifrage To know is to know that you know nothing That is the true meaning of knowledge"
def cipher(s):
if s ==Alphabet:
(219 -Code de caractère)Remplacer par le personnage
return Chaîne de caractères après le cryptage
else:
retourne la sortie telle quelle
#chiffrement
angobun = cipher(genbun))
print(angobun)
#Décryptage
fukugobun = decryption(genbun)
print(fukugobun)
Donc, je me demande comment faire la conversion de code de caractère. En quoi le code est-il converti? Est-ce que UTF-8 est correct? Avec UTF-8, la partie «code à 219 caractères» ne peut pas être implémentée ...?
Lorsque j'ai été recherché sur Google, il semble que python ait une fonction ʻord () `** qui renvoie un entier appelé un point de code Unicode de ** caractères. Vous pouvez peut-être l'utiliser. C'est hostile! !! !! (Punpun
Essaie.
tameshi.py
print("a")
print(ord("a"))
a
97
Hmm je vois. Est «un» 97 »? Alors qu'en est-il de la chaîne de caractères?
moziha.py
print("abc")
print(ord("abc"))
abc
Traceback (most recent call last):
File "/home/ec2-user/knock/enshu08.py", line 2, in <module>
print(ord("abc"))
TypeError: ord() expected a character, but string of length 3 found
Je vois. ** Passez un caractère à la fois à ʻord () `**. D'ACCORD.
Écrivons d'abord cette instruction if.
if.py
if s ==Alphabet:
Il semble qu'il existe une fonction pour le mal si vous recherchez sur Google "jugement de l'alphabet python".
Déterminez s'il est inférieur (est inférieur) Déterminé à être alphanumérique (isalnum) Juger s'il s'agit d'un caractère alphabétique (isalpha)
URL de référence
https://hibiki-press.tech/learn_prog/python/isupper-islower/3728#islower
J'ai pu le chiffrer
dekitayo.py
genbun = "aBc0"
def cipher(s):
kaesubun = ""
for i in s:
#Juger si c'est alphabétique et minuscule
if i.isalpha() and i.islower():
kaesubun = kaesubun + chr(219-ord(i))
else:
kaesubun = kaesubun + i
return kaesubun
angobun = cipher(genbun)
print(angobun)
zBx0
J'ai oublié de l'écrire ci-dessus, mais il semble que vous puissiez convertir les caractères ** en points de code Unicode avec ʻord () ʻ et vice versa avecchr ()
. ** **
Et maintenant j'écris for i in s:
régulièrement, mais dans cette notation [Practice 03](https://qiita.com/earlgrey914/items/fe1d326880af83d37b22#%E3%83%91%E3% 83% 88% E3% 82% AB% E3% 83% BC% E3% 82% BF% E3% 82% AF% E3% 82% B7% E3% 83% BC% E3% 81% AE% E6% 96% 87% E5% AD% 97% E3% 82% 92% E5% 85% 88% E9% A0% AD% E3% 81% 8B% E3% 82% 89% E4% BA% A4% E4% BA% 92% E3% 81% AB% E9% 80% A3% E7% B5% 90% E3% 81% 97% E3% 81% A6% E6% 96% 87% E5% AD% 97% E5% 88% 97% E3% 83% 91% E3% 82% BF% E3% 83% 88% E3% 82% AF% E3% 82% AB% E3% 82% B7% E3% 83% BC% E3% 83% BC% E3% 82% Ce que j'ai remarqué à 92% E5% BE% 97% E3% 82% 88) est énorme.
(Point de compliment personnel. Complimentez tout le monde !!)
** Si vous n'étiez pas au courant de cette notation, vous avez peut-être délibérément divisé la chaîne caractère par caractère, la mettre dans un tableau, la retirer et la traiter. ** ~~ Je l'ai écrit à l'époque de Java. ~~
Puis décryptez. C'est facile.
yoyu.py
genbun = "aBc0"
#Fonction de cryptage
def cipher(s):
kaesubun = ""
for i in s:
#Juger si c'est alphabétique et minuscule
if i.isalpha() and i.islower():
kaesubun = kaesubun + chr(219-ord(i))
else:
kaesubun = kaesubun + i
return kaesubun
#Fonction de décryptage
def decryption(s):
kaesubun = ""
for i in s:
if i.isalpha() and i.islower():
kaesubun = kaesubun + chr(219+ord(i))
else:
kaesubun = kaesubun + i
return kaesubun
print("Original")
print(genbun)
angobun = cipher(genbun)
print("Cryptogramme")
print(angobun)
fukugobun = decryption(angobun)
print("Texte décrypté")
print(fukugobun)
Original
aBc0
Cryptogramme
zBx0
Texte décrypté
ŕBœ0
Ahhhhhhh! ?? !! ?? !! ??
Si vous essayez de calculer avec du papier C'était «chr (219-ord (i))» au lieu de «chr (219 + ord (i))». ** Il y a un piège où je pense que c'est facile. Veuillez utiliser comme cours () **
Terminé avec l'aide ↓.
enshu08.py
genbun = "aBcDeFghijKLM0123456789"
#Fonction de cryptage
def cipher(s):
kaesubun = ""
for i in s:
#Juger si c'est alphabétique et minuscule
if i.isalpha() and i.islower():
kaesubun = kaesubun + chr(219-ord(i))
else:
kaesubun = kaesubun + i
return kaesubun
#Fonction de décryptage
def decryption(s):
kaesubun = ""
for i in s:
if i.isalpha() and i.islower():
kaesubun = kaesubun + chr(219-ord(i))
else:
kaesubun = kaesubun + i
return kaesubun
print("Original")
print(genbun)
angobun = cipher(genbun)
print("Cryptogramme")
print(angobun)
fukugobun = decryption(angobun)
print("Texte décrypté")
print(fukugobun)
Original
aBcDeFghijKLM0123456789
Cryptogramme
zBxDvFtsrqKLM0123456789
Texte décrypté
aBcDeFghijKLM0123456789
Suivant Suivant! !!
Japonais régulier difficile.
Tout d'abord, le tableau d'ensemble.
zenta.py
s = "I couldn't believe that I could actually understand what I was reading : the phenomenal power of the human mind ."
#Faites une liste du texte original séparé par un espace demi-largeur
list = s.split()
kaesubun = []
for i in list:
La longueur de la chaîne dans la liste if est supérieure à 4:
Réorganisez au hasard l'ordre des autres caractères, en laissant le premier et le dernier caractères
kaesubun.append(Caractères après remplacement)
else:
#Tel quel sans remplacement
kaesubun.append(i)
Ouais, ça n'a pas l'air si difficile. Je me suis demandé comment "réorganiser au hasard l'ordre des autres personnages".
Sélectionnez au hasard plusieurs éléments (pas de duplication): random.sample ()
<URL de référence> https://note.nkmk.me/python-random-choice-sample-choices/
Je vois.
Pour la première fois ici, j'utiliserai la bibliothèque standard pour spécifier random
, mais est-ce que ça va? Est-ce OK?
Essayez au hasard.
rand.py
import random
s = ["a", "b", "c", "d","e"]
print(random.sample(s, 5))
['c', 'e', 'b', 'a', 'd']
Ouaip. Bonnes vibrations. J'ai pu obtenir 5 personnages au hasard.
"Laissez le début et la fin" est [Pratique 02](https://qiita.com/earlgrey914/items/fe1d326880af83d37b22#02-%E3%83%91%E3%83%88%E3%82%AB % E3% 83% BC% E3% 82% BF% E3% 82% AF% E3% 82% B7% E3% 83% BC% E3% 83% 91% E3% 82% BF% E3% 83% 88% E3 Utilisez des tranches comme vous l'avez fait avec% 82% AF% E3% 82% AB% E3% 82% B7% E3% 83% BC% E3% 83% BC). On peut dire que "du deuxième caractère (1) au caractère immédiatement avant la fin (-1)", donc [1: -1]
onazi.py
s = ["a", "b", "c", "d", "e"]
print(s[1:-1])
['b', 'c', 'd']
Découpez également le «début» et la «fin»
nokosi.py
s = ["a", "b", "c", "d", "e"]
print(s[0])
print(s[-1])
['a']
['e']
Bien. Probablement aller.
** Après tout, la notation des tranches est un peu gênante. ** **
Même si s [-1]
est "le dernier caractère"
s [1: -1]
est "du deuxième caractère au dernier caractère", non?
N'est-ce pas un peu difficile à comprendre?
↓ Il vaudrait peut-être mieux écrire comme ça. (Je ne sais pas si tu peux écrire comme ça)
"Dernier caractère"
s[-1: : ]
"Du deuxième personnage au personnage immédiatement avant la fin"
s[1:-1: ]
~ 20 minutes plus tard ~ C'est fait.
enshu09.py
import random
s = "I couldn't believe that I could actually understand what I was reading : the phenomenal power of the human mind ."
#Faites une liste du texte original séparé par un espace demi-largeur
kugitta_list = s.split()
kaesubun = []
#Traitement mot par mot dans le texte original
for ichitango in kugitta_list:
#Si le mot est plus grand que 4 lettres
if len(ichitango) > 4:
kaesutango = []
#Liste des mots en les séparant caractère par caractère
ichitango_kugitta_list= list(ichitango)
#Faire une liste de caractères en excluant le premier et le dernier caractères
sentou_matsubi_nozoita_list = ichitango_kugitta_list[1:-1]
#Insérez la première lettre dans la liste "mots à renvoyer"
kaesutango.append(ichitango_kugitta_list[0])
#Obtenez aléatoirement tous les caractères de la liste des caractères à l'exclusion du premier et du dernier caractères et placez-les dans la liste "mots à renvoyer"
kaesutango.extend(random.sample(sentou_matsubi_nozoita_list, len(sentou_matsubi_nozoita_list)))
#Mettez la dernière lettre dans la liste "mots à renvoyer"
kaesutango.append(ichitango_kugitta_list[-1])
#Mettez "mots à renvoyer" dans la liste des "phrases à renvoyer"
kaesubun.append(''.join(kaesutango))
else:
#Mettez-le dans la liste des "phrases retournées" tel quel sans le remplacer
kaesubun.append(ichitango)
#Convertit le tableau des instructions renvoyées en chaîne et en sortie (et spécifiez un espace vide comme délimiteur pour les éléments du tableau)
print(' '.join(kaesubun))
I c'ulnodt bvlieee that I could altluacy usraetdnnd what I was rdnieag : the paemonnhel pewor of the hmuan mind .
La première notation est `` ''. Join (kaesubun) `.
Je convertis une liste de chaînes de caractères séparées par des caractères en une chaîne de caractères. S'il existe une liste de "[" a "," b "," c "] En écrivant «». Join (list) «,« abc »sera affiché. En écrivant «a». Join (list) «,« a a b a c »sera affiché. ("A" est le délimiteur)
Eh bien, je vais bien.
Bien! !! !! Ceci complète les 10 questions du chapitre 1 de Traitement du langage! !! !! !!
** Cet article à lui seul a pris 2 heures! !! !! !! !! !! !! !! (important)** ** Le chapitre 1 a pris 7 heures! !! !! !! !! !! (important)**
A partir de demain, nous commencerons au chapitre 2.
Recommended Posts