Python "expected an indented block (<unknown>, line 7)" hatası

Xusroth

Femtopat
Katılım
7 Şubat 2021
Mesajlar
2
Daha fazla  
Cinsiyet
Erkek
Buradaki hatanın çözümünü bilen var mı? "expected an indented block (<unknown>, line 7)" hatası verip duruyor.

Python:
import random

import string

def generate_password(length, level, output=[]):
    chars = string.ascii_latters
 
if level >1:
    chars ="{}{}".format(chars, string.digits)
if level >2:
    chars = "{}{}".format(chars, string.digits)


for i in range(length):
output.append(random.choice(chars))

return " ".join(output)

print(("-"30)+"\n Password Generator\n"+("-"30))



password_length = int(input("length : "))

password_level = int(input("level : "))

password = generate_password(password_length, password_level)

print("\n your password is: {}".format(password))
 
Sanırım Tab kullanımı sıkıntısı. 7. bloğun başını silip tekrar Tab atın.
O kısmı düzeltip atabilir misin?
15. satırdaki ifade if'in içinde ama sen onu girintili yapmamışsın. Başka hatalar da var.
Düzelttim onu hemen. Diğer hataları da söyleyebilir misin ya da direkt düzeltip atabilir misin?
 
sublime_text_Y7XHb9EVQr.png

Fonksiyon içerisindeki "if" bloğunda ne yapmaya çalıştığınızı tam olarak anlayamasam da bu haliyle hata vermiyor.

Python syntax'ı indent kullanan bir syntax. Bu yüzden Indent kullanımına dikkat edin. Ayrıca aynı dosya içinde ya sadece boşluk kullanın ya da "Tab" ikisini beraber kullanmayın.

Ayrıca öneri olarak, fonksiyonlara argüman olarak boş liste ([ ]) vermek bazı durumlarda (bilhassa "tree" yapılarında) "aliasing" veya daha farklı sorunlara neden olabiliyor. Bu yüzden mümkün olduğunca bu örnekte olduğu gibi dışarıdan verilmesine gerek kalmayan/olmayan argümanları fonksiyonun içine ya da dışına alın.
 

Yeni konular

Geri
Yukarı