J'utilise vim editor comme IDE python. Voici un programme python simple pour calculer la racine carrée d’un nombre:
import cmath
def sqrt():
try:
num = int(input("Enter the number : "))
if num >= 0:
main(num)
else:
complex(num)
except:
print("OOPS..!!Something went wrong, try again")
sqrt()
return
def main(num):
squareRoot = num**(1/2)
print("The square Root of ", num, " is ", squareRoot)
return
def complex(num):
ans = cmath.sqrt(num)
print("The Square root if ", num, " is ", ans)
return
sqrt()
Et les avertissements sont:
1-square-root.py|2 col 1 C| E302 expected 2 blank lines, found 0 [pep8]
1-square-root.py|15 col 1 C| E302 expected 2 blank lines, found 1 [pep8]
1-square-root.py|21 col 1 C| E302 expected 2 blank lines, found 0 [pep8]
Pouvez-vous s'il vous plaît dire pourquoi ces avertissements sont à venir?
import cmath
def sqrt():
try:
num = int(input("Enter the number : "))
if num >= 0:
main(num)
else:
complex_num(num)
except:
print("OOPS..!!Something went wrong, try again")
sqrt()
return
def main(num):
square_root = num**(1/2)
print("The square Root of ", num, " is ", square_root)
return
def complex_num(num):
ans = cmath.sqrt(num)
print("The Square root if ", num, " is ", ans)
return
sqrt()
La précédente résoudra vos problèmes PEP8 . Après votre importation, vous devez disposer de 2 nouvelles lignes avant de commencer votre code. En outre, entre chaque def foo()
, vous devez également disposer de 2.
Dans votre cas, vous aviez 0 après l'importation et vous aviez une nouvelle ligne entre chaque fonction. Une partie de PEP8 nécessite une nouvelle ligne après la fin de votre code. Malheureusement, je ne sais pas comment le montrer quand je colle votre code ici.
Faites attention à la dénomination, cela fait également partie de PEP8. J'ai changé complex
en complex_num
pour éviter toute confusion avec les commandes internes complex
.
En fin de compte, ils ne font qu'avertir qu'ils peuvent être ignorés si nécessaire.
Voici le lien vers la documentation: Guide de style PEP8 pour Python
Vous devez ajouter deux espaces entre les fonctions, comme indiqué ci-dessous:
import cmath
def sqrt():
try:
num = int(input("Enter the number : "))
if num >= 0:
main(num)
else:
complex_num(num)
except:
print("OOPS..!!Something went wrong, try again")
sqrt()
return
def main(num):
square_root = num**(1/2)
print("The square Root of ", num, " is ", square_root)
return
def complex_num(num):
ans = cmath.sqrt(num)
print("The Square root if ", num, " is ", ans)
return
sqrt()
Vous devez donner deux lignes vides entre des blocs de code significatifs.
Ceux-ci incluent (par exemple):
with warnings:-
import math
def my():
print("hello world")
my()
Without warnings:-
import math
def my():
print("hello world")
my()
Ici, si vous voyez les deux lignes espace après instruction import pour le deuxième fragment de code qui ne donnera aucun avertissement ... Encore une fois, si vous écrivez une définition de deux méthodes, vous avez deux lignes comme espace entre deux blocs.
Toutes les réponses semblent être correctes. Pour éviter de le faire à la main, vous pouvez également utiliser le package autopep8
(pip install autopep8). Le résultat de l'appel autopep8 filename.py
est le même:
import cmath
def sqrt():
try:
num = int(input("Enter the number : "))
if num >= 0:
main(num)
else:
complex(num)
except:
print("OOPS..!!Something went wrong, try again")
sqrt()
return
def main(num):
squareRoot = num**(1/2)
print("The square Root of ", num, " is ", squareRoot)
return
def complex(num):
ans = cmath.sqrt(num)
print("The Square root if ", num, " is ", ans)
return
sqrt()
PS: regarde at if __== "__main__":