pionrrt 发表于 2023-6-28 18:32:04

代码缩进报错不知该如何修正

画框的这段代码是照着小甲鱼老师在41讲习题答案(https://fishc.com.cn/thread-206416-1-2.html)里敲的,但是还是报了缩进错误,重新敲了还是报错。不知道是为什么
import hashlib

print("欢迎来到鱼C论坛~")
print("=====================")
print("""1.注册
2.登陆
3.退出
""")
ku={"2":"ddd",3:222}
def get_int():
    a=int(input("请输入指令:"))
    if a==1:
      register()
    if a==2:
      login()
    if a==3:

def encrypt(plaintext):
    bstr=bytes(plaintext,"utf-8")
    ciphertext=hashlib.md5(bstr).hexdigest()
    return ciphertext
      

def register():
    re_name=input("请输入用户名:")
    while re_name in ku.keys():
      print("该用户已注册")
      re_name=input("请输入用户名:")

    re_password=input("请输入密码:")
    re_password=encrypt(re_password)
    ku=re_password
    print("恭喜,注册成功")

def login():
    name=input("请输入用户名:")
    while name not in ku.keys():
      print("该用户不存在")
      name=input("请重新输入用户名:")
    password=input("请输入密码:")
    while ku.get(name)!=encrypt(password):
      print("密码错误")
      password=input("请重新输入密码:")
      
    print("登陆成功")


isdkz 发表于 2023-6-28 18:44:28

你的代码主要有两个问题。首先,if后面需要有else或elif语句,这样如果没有满足if条件的话,程序会知道该执行什么操作。其次,你需要在 if a==3: 语句后面添加一个操作。如果你想让程序在输入3时退出,你可以使用 sys.exit() 函数。

下面是修改后的代码:

import hashlib
import sys

print("欢迎来到鱼C论坛~")
print("=====================")
print("""1.注册
2.登陆
3.退出
""")
ku={"2":"ddd",3:222}

def get_int():
    a=int(input("请输入指令:"))
    if a==1:
      register()
    elif a==2:
      login()
    elif a==3:
      sys.exit()

def encrypt(plaintext):
    bstr=bytes(plaintext,"utf-8")
    ciphertext=hashlib.md5(bstr).hexdigest()
    return ciphertext
      

def register():
    re_name=input("请输入用户名:")
    while re_name in ku.keys():
      print("该用户已注册")
      re_name=input("请输入用户名:")

    re_password=input("请输入密码:")
    re_password=encrypt(re_password)
    ku=re_password
    print("恭喜,注册成功")

def login():
    name=input("请输入用户名:")
    while name not in ku.keys():
      print("该用户不存在")
      name=input("请重新输入用户名:")
    password=input("请输入密码:")
    while ku.get(name)!=encrypt(password):
      print("密码错误")
      password=input("请重新输入密码:")
      
    print("登陆成功")

# 确保在程序开始时就运行get_int()函数
if __name__ == "__main__":
    get_int()


希望这个能帮助到你!
页: [1]
查看完整版本: 代码缩进报错不知该如何修正