Maison  >  Article  >  développement back-end  >  Quelles choses intéressantes peuvent être accomplies avec dix lignes de code Python ?

Quelles choses intéressantes peuvent être accomplies avec dix lignes de code Python ?

PHPz
PHPzavant
2023-05-07 09:07:071399parcourir

Jetons un coup d'œil aux fonctions intéressantes que nous pouvons réaliser avec pas plus de 10 lignes de code.

1. Générer un code QR

Le code QR est également appelé code-barres 2D. Le nom complet du QR est Quick Response. Il s'agit d'une méthode de codage très populaire sur les appareils mobiles ces dernières années. Le code QR est également très simple. En Python, nous pouvons générer un code QR via le module MyQR. Pour générer un code QR, nous n'avons besoin que de 2 lignes de code. Nous installons d'abord le module MyQR.

pip install qrcode

Une fois l'installation terminée, nous pouvons commencer à écrire du code :

import qrcode

text = input(输入文字或URL:)
# 设置URL必须添加http://
img =qrcode.make(text)
img.save()
#保存图片至本地目录,可以设定路径
img.show()

Après avoir exécuté le code, un code QR sera généré dans le cadre du projet. Bien sûr, on peut aussi enrichir le QR code :

On installe d'abord le module MyQR

pip installmyqr
def gakki_code():
version, level, qr_name = myqr.run(
words=https://520mg.com/it/#/main/2,
# 可以是字符串,也可以是网址(前面要加http(s)://)
version=1,# 设置容错率为最高
level='H',
# 控制纠错水平,范围是L、M、Q、H,从左到右依次升高
picture=gakki.gif,
# 将二维码和图片合成
colorized=True,# 彩色二维码
contrast=1.0, 
 # 用以调节图片的对比度,1.0 表示原始图片,更小的值表示更低对比度,更大反之。默认为1.0
brightness=1.0,
# 用来调节图片的亮度,其余用法和取值同上
save_name=gakki_code.gif,
# 保存文件的名字,格式可以是jpg,png,bmp,gif
save_dir=os.getcwd()# 控制位置

)
 gakki_code()

Le rendu est le suivant :

十行 Python 代码能实现哪些有趣功能?

De plus, MyQR supporte également les images dynamiques.

2. Générer un nuage de mots

Le nuage de mots, également appelé nuage de mots, est une présentation visuellement proéminente de « mots-clés » qui apparaissent fréquemment dans les données textuelles, formant un rendu des mots-clés pour former une image couleur semblable à un nuage. Ainsi, la signification principale des données textuelles peut être comprise d'un seul coup d'œil.

Mais en tant qu'ancien codeur, j'aime toujours utiliser du code pour générer mon propre nuage de mots. Est-ce compliqué ? Est-ce que cela prendra beaucoup de temps ? De nombreux textes ont introduit diverses méthodes, mais en réalité seules 10 lignes de code python sont nécessaires.

Installez d'abord les bibliothèques nécessaires

pip install wordcloud
pip install jieba
pip install matplotlib
import matplotlib.pyplot as plt
from wordcloud import WordCloud
import jieba

text_from_file_with_apath = open('/Users/hecom/23tips.txt').read()

wordlist_after_jieba = jieba.cut(text_from_file_with_apath, cut_all = True)
wl_space_split =.join(wordlist_after_jieba)

my_wordcloud = WordCloud().generate(wl_space_split)

plt.imshow(my_wordcloud)
plt.axis(off)
plt.show()

C'est tout, le nuage de mots généré est comme ceci :

十行 Python 代码能实现哪些有趣功能?

Lisez ces 10 lignes de code :

Les lignes 1 à 3 importent respectivement la bibliothèque de dessins matplotlib et le nuage de mots Generate. Bibliothèques de segmentation de mots wordcloud et jieba ;

4 lignes servent à lire les fichiers locaux. Le texte utilisé dans le code est "Deux ou trois choses sur la gestion de la R&D aux yeux de Lao Cao" dans ce compte public.

Ligne 5~6, utilisez jieba pour segmenter les mots et séparez les résultats de la segmentation des mots par des espaces ;

Ligne 7, générez un nuage de mots pour le texte après la segmentation des mots

Ligne 8~10, utilisez pyplot ; pour afficher le diagramme du nuage de mots.

C'est une des raisons pour lesquelles j'aime python, c'est simple et clair.

3. Découpe par lots

La mise en œuvre de la découpe nécessite l'aide de l'outil d'apprentissage en profondeur paddlepaddle de Baidu Feipiao. Nous devons installer deux modules pour implémenter rapidement la découpe par lots. Le premier est PaddlePaddle :

python -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple

Il existe également un modèle paddlehub. bibliothèque :

pip install -i https://mirror.baidu.com/pypi/simple paddlehub

Pour des informations d'installation plus détaillées, veuillez consulter le site officiel de PaddlePaddle : https://www.paddlepaddle.org.cn/

Ensuite, nous n'avons besoin que de 5 lignes de code pour implémenter la découpe par lots :

import os, paddlehub as hub
humanseg = hub.Module(name='deeplabv3p_xception65_humanseg')# 加载模型
path = 'D:/CodeField/Workplace/PythonWorkplace/GrapImage/'# 文件目录
files = [path + i for i in os.listdir(path)]# 获取文件列表
results = humanseg.segmentation(data={'image':files})# 抠图
.

L'effet de la découpe est le suivant :

十行 Python 代码能实现哪些有趣功能?

La gauche est l'image originale et la droite est la découpe remplie d'une image de fond jaune.

4. Reconnaissance des émotions textuelles

Devant paddlepaddle, le traitement du langage naturel est devenu très simple. Pour réaliser la reconnaissance des émotions textuelles, nous devons également installer PaddlePaddle et Paddlehub. Pour une installation spécifique, veuillez vous référer à la partie 3. Vient ensuite notre partie code :

import paddlehub as hub
senta = hub.Module(name='senta_lstm')# 加载模型
sentence = [# 准备要识别的语句
'你真美', '你真丑', '我好难过', '我不开心', '这个游戏好好玩', '什么垃圾游戏',
]
results = senta.sentiment_classify(data={text:sentence})# 情绪识别
# 输出识别结果
for result in results:
print(result)

Le résultat de la reconnaissance est une liste de dictionnaire :

{'text': '你真美', 'sentiment_label': 1, 'sentiment_key': 'positive', 'positive_probs': 0.9602, 'negative_probs': 0.0398}
{'text': '你真丑', 'sentiment_label': 0, 'sentiment_key': 'negative', 'positive_probs': 0.0033, 'negative_probs': 0.9967}
{'text': '我好难过', 'sentiment_label': 1, 'sentiment_key': 'positive', 'positive_probs': 0.5324, 'negative_probs': 0.4676}
{'text': '我不开心', 'sentiment_label': 0, 'sentiment_key': 'negative', 'positive_probs': 0.1936, 'negative_probs': 0.8064}
{'text': '这个游戏好好玩', 'sentiment_label': 1, 'sentiment_key': 'positive', 'positive_probs': 0.9933, 'negative_probs': 0.0067}
{'text': '什么垃圾游戏', 'sentiment_label': 0, 'sentiment_key': 'negative', 'positive_probs': 0.0108, 'negative_probs': 0.9892}

Le champ sentiment_key contient des informations sur les sentiments. Pour une analyse détaillée, veuillez consulter Le traitement du langage naturel Python ne nécessite que 5 lignes de code.

5. Identifiez si vous portez un masque

Il s'agit également d'un produit utilisant PaddlePaddle. Nous avons installé PaddlePaddle et Paddlehub selon les étapes ci-dessus, puis avons commencé à écrire du code :

import paddlehub as hub
# 加载模型
module = hub.Module(name='pyramidbox_lite_mobile_mask')
# 图片列表
image_list = ['face.jpg']
# 获取图片字典
input_dict = {'image':image_list}
# 检测是否带了口罩
module.face_detection(data=input_dict)

Après avoir exécuté le programme ci-dessus, le dossier détection_result. sera généré dans le cadre du projet, les résultats de la reconnaissance seront à l'intérieur et l'effet de reconnaissance est le suivant :

十行 Python 代码能实现哪些有趣功能?

6. Bombardement d'informations simple

Il existe de nombreuses façons de contrôler les périphériques d'entrée en Python Nous pouvons utiliser win32 ou. modules pynput. Nous pouvons obtenir l'effet de bombardement d'informations grâce à de simples opérations de boucle. En prenant pynput comme exemple, nous devons d'abord installer le module :

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ pynput

Avant d'écrire le code, nous devons obtenir manuellement les coordonnées de la zone de saisie :

from pynput import mouse
# 创建一个鼠标
m_mouse = mouse.Controller()
# 输出鼠标位置
print(m_mouse.position)

. Il existe peut-être une méthode plus efficace, mais je ne sais pas comment.

Après l'avoir obtenu, nous pouvons enregistrer les coordonnées et ne pas déplacer la fenêtre de message. Ensuite, nous exécutons le code suivant et basculons la fenêtre sur la page de message :

import time
from pynput import mouse, keyboard
time.sleep(5)
m_mouse = mouse.Controller()# 创建一个鼠标
m_keyboard = keyboard.Controller()# 创建一个键盘
m_mouse.position = (850, 670) # 将鼠标移动到指定位置
m_mouse.click(mouse.Button.left) # 点击鼠标左键
while(True):
m_keyboard.type('你好')# 打字
m_keyboard.press(keyboard.Key.enter)# 按下enter
m_keyboard.release(keyboard.Key.enter)# 松开enter
time.sleep(0.5)# 等待 0.5秒

J'avoue, cela fait plus de 10 lignes de code, et ce n'est pas du haut de gamme. Avant d'utiliser QQ, l'effet de l'envoi de messages à la trompette est le suivant :

十行 Python 代码能实现哪些有趣功能?

7. Identifiez le texte dans l'image

Nous pouvons utiliser Tesseract pour identifier le texte dans l'image C'est très simple à mettre en œuvre dans. Python, mais télécharger les fichiers et la configuration au début Les variables d'environnement, etc. sont un peu lourdes, donc cet article ne montre que le code :

import pytesseract
from PIL import Image
img = Image.open('text.jpg')
text = pytesseract.image_to_string(img)
print(text)

其中text就是识别出来的文本。如果对准确率不满意的话,还可以使用百度的通用文字接口。

八、简单的小游戏

从一些小例子入门感觉效率很高。

import random
print(1-100数字猜谜游戏!)
num = random.randint(1,100)
guess =guess

i = 0
while guess != num:
i += 1
guess = int(input(请输入你猜的数字:))

if guess == num:
print(恭喜,你猜对了!)
elif guess < num:
print(你猜的数小了...)
else:
print(你猜的数大了...)

print(你总共猜了%d %i + 次)

猜数小案例当着练练手。

以上代码,大家可以敲一下非常有趣,也很适合小白入手。

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer