x10n9
码龄7年
关注
提问 私信
  • 博客:95,181
    社区:2,102
    问答:13,837
    111,120
    总访问量
  • 52
    原创
  • 62,495
    排名
  • 1,268
    粉丝
  • 10
    铁粉
  • 学习成就
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2017-07-07
博客简介:

x10n9的博客

博客描述:
很懒~~~~~
查看详细资料
  • 原力等级
    成就
    当前等级
    5
    当前总分
    1,191
    当月
    4
个人成就
  • 获得53次点赞
  • 内容获得13次评论
  • 获得143次收藏
  • 代码片获得1,633次分享
创作历程
  • 1篇
    2024年
  • 22篇
    2023年
  • 19篇
    2022年
  • 9篇
    2021年
  • 4篇
    2020年
成就勋章
TA的专栏
  • Kubernetes
    21篇
  • ceph
    5篇
  • 反弹shell
    3篇
兴趣领域 设置
  • Python
    pythondjango
  • 运维
    linuxdevops自动化kubernetes
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

353人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

rehat ceph 7 故障排除指南

发布资源 2024.08.20 ·
pdf

passwd文件被删导致无法进入系统问题处理

系统:centos7问题背景:根据描述,之前有人搞破坏,导致无法进入系统。启动界面显示各种服务无法启动。进单用户模式重启启动,在内核选择界面按e,在linux16 行,将ro 修改为rw,在行末添加 init=/bin/bash ,按ctrl+x进入单用户模式。具体之前被搞了什么操作不清楚,先看日志文件。查看/var/log/message日志,日志内容如图,提示未知用户xxxx。
原创
发布博客 2024.07.10 ·
397 阅读 ·
3 点赞 ·
0 评论 ·
4 收藏

联想电脑相机无法使用!

答:

从图片中看到打开相机程序,摄像头的灯没亮。

1.检查设备管理器里面的是否有照相机这个设备。驱动程序是否显示叹号,尝试更新驱动。
2.键盘是否有关闭摄像头的快捷键,重新开启。
3.使用启用禁用摄像头工具,如WebCam On-Off开启摄像头。

回答问题 2023.12.18

利用pyhron语句编写一下程序

答:

# -*- coding:utf-8 -*-
itemlist = input("请输入多个整数:").split(',')
numlist = [int(i) for i in itemlist]
print("原始列表:", numlist)
max_val = max(numlist)
max_val_index = numlist.index(max_val)
if numlist.index(max_val) == 0:
    neighbors = [max_val, numlist[max_val_index + 1]]
elif numlist.index(max_val) == len(numlist) - 1:
    neighbors = [numlist[max_val_index - 1], max_val]
else:
    neighbors = [numlist[max_val_index - 1], max_val, numlist[max_val_index + 1]]
print("最大值及相邻元素:", neighbors)
print("{}是第{}个数".format(max_val, max_val_index + 1))
numlist.remove(max_val)
print("已从列表删除 {}".format(max_val))
print("排序后的数据:")
print(sorted(numlist))
回答问题 2023.12.18

编写一个程序来检查一个整数是否是完美数

答:

按照要求:


def check(num):
    sum = 0
    for item in range(1, num):
        if num % item == 0:
            sum += item
    if sum == num:
        return True
    else:
        return False
回答问题 2023.12.18

MySQL5.7编译安装

答:

远程处理。

回答问题 2023.12.15

ensp 小型企业网络的网络配置

答:

跟这个基本上相同,换汤不换药
小型企业网络的企业网络配置

回答问题 2023.12.14

凯利linux如何降低openssh的版本

答:

实测1.0.2o降1.0.2k过程

img

编译安装openssl


wget https://www.openssl.org/source/openssl-1.0.2k.tar.gz --no-check-certificate
tar -zxvf openssl-1.0.2k.tar.gz 
cd openssl-1.0.2k
./config --prefix=/usr/local/ssl shared
make
make install
mv -f /usr/bin/openssl /usr/bin/openssl.old
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/openssl
echo "/usr/local/ssl/lib">>/etc/ld.so.conf
ldconfig -v

cp openssl-1.0.2k/libssl.so.1.0.0 /usr/lib/x86_64-linux-gnu/
cp openssl-1.0.2k/libcrypto.so.1.0.0 /usr/lib/x86_64-linux-gnu/

编译安装openssh

wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.4p1.tar.gz
tar -zxvf openssh-7.4p1.tar.gz
cd openssh-7.4p1
mv /etc/ssh /etc/ssh.bak
./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh  --with-ssl-dir=/usr/local/ssl --with-zlib-dir=/usr/local/zlib --without-openssl-header-check
make
make install 
cp /usr/lib/systemd/system/ssh.service /usr/lib/systemd/system/ssh.service.bak
修改sshd 路径为/usr/local/openssh/sbin/sshd
cat /usr/lib/systemd/system/ssh.service
[Unit]
Description=OpenBSD Secure Shell server
Documentation=man:sshd(8) man:sshd_config(5)
After=network.target auditd.service
ConditionPathExists=!/etc/ssh/sshd_not_to_be_run

[Service]
EnvironmentFile=-/etc/default/ssh
ExecStartPre=/usr/local/openssh/sbin/sshd -t
ExecStart=/usr/local/openssh/sbin/sshd -D $SSHD_OPTS
ExecReload=/usr/local/openssh/sbin/sshd -t
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartPreventExitStatus=255
Type=notify
RuntimeDirectory=sshd
RuntimeDirectoryMode=0755

[Install]
WantedBy=multi-user.target
Alias=sshd.service

img

回答问题 2023.12.13

网络打印机Ip地址自动获取出现问题

答:

169开头这个是打印机无法从DHCP获取到IP。
如果不想让所有人从新修改打印机配置,可以在交换机把打印机mac跟之前的IP绑定,让获取打印机IP的电脑从新获取IP。

比如我的华三交换机IP、MAC绑定配置为:
static-bind ip-address 192.168.20.198 mask 255.255.254.0 hardware-address 58aa-2305-fc17

回答问题 2023.12.12

华为电脑银河麒麟V10现开机卡于光标处无法进入系统

答:

各发行版的live cd就类似windows PE系统。

你看下这篇文章
麒麟990的麒麟系统进入livece备份系统数据

回答问题 2023.11.27

谁能莫名其妙帮我解答问题

答:

# -*- coding:utf-8 -*-
import hashlib
from random import randint
import os
import pickle

class Card:

    def __init__(self,cid,pwd):

        self.cid = cid
        self.pwd = pwd
        self.money = 0
        self.islock = False
class Admin:
    def __init__(self,name = 'admin',password = '123456'):
        self.name = name
        self.password = password

    def welcome(self):
        print('欢迎使用xx银行系统')

    #设置登录
    def login(self):
        name = input('请输入您的用户名:')
        password = input('请输入您的密码:')
        if name == self.name and password == self.password:
            return True
        else:
            return False

    #设置菜单界面
    def menu(self):
        print('建户【0】 销户【1】 查看余额【2】 存款【3】 取款【4】')
        print('转账【5】 锁卡【6】 解锁【7】 用户信息【8】 退出【9】')


class User:
    def __init__(self,name,uid,card):
        self.name = name
        self.uid = uid
        self.card = card

    def __str__(self):
        return '姓名:{} 身份证号:{} 银行卡:{}'.format(self.name,self.uid,self.card.cid)

    #保存用户信息到文件中
    @staticmethod
    def save_info(userinfo):
        #拼接要存放信息的目录
        pathname = os.path.join(os.getcwd(),'user_info.db')
        with open(pathname,'wb') as fp:
            pickle.dump(userinfo,fp)

    @staticmethod
    def load_info():
        pathname = os.path.join(os.getcwd(),'user_info.db')
        if os.path.exists(pathname):
            with open(pathname,'rb') as fp:
                ret = pickle.load(fp)
                return ret
        else:
            return {}


class Operate:
    def __init__(self,userinfo={}):
        self.userinfo = userinfo

    #设置银行系统的各种功能
    def new_user(self):
        name = input('请输入您的名字:')
        uid = input('请输入您的身份证号:')
        pwd = input('请输入您的银行卡密码:')
        #生成银行卡号
        cid = Helper.generate_card_cid()
        #加密银行卡密码
        pwd = Helper.encry_pwd(pwd)
        #创建银行卡和用户对象
        card = Card(cid,pwd)
        user = User(name,uid,card)
        self.userinfo[cid] = user
        #保存用户信息
        User.save_info(self.userinfo)
        print('开户成功!')

    def del_uesr(self):
        while True:
            cid = input('请输入您的银行卡号:')
            if cid:
                user = self.userinfo[cid]
                count = 0
                while True:
                    pwd = input('请输入您的银行卡密码:')
                    if Helper.check_pwd(pwd,user.card.pwd):
                        del self.userinfo[cid]
                        User.save_info(self.userinfo)
                        break
                    else:
                        print('密码错误,请重新输入')
                        count += 1
                        if count >= 3:
                            print('密码错误次数上限')
            else:
                print('银行卡号不存在,请重新输入')

    def query_money(self):
        cid = input('请输入您的银行卡号:')
        user = self.userinfo[cid]
        print('金额:{}'.format(user.card.money))

    def save_money(self):
        cid = input('请输入您的银行卡号:')
        user = self.userinfo[cid]
        count = 0
        if user.card.islock:
            print('您的银行卡已冻结')
            return
        while True:
            pwd = input('请输入您的银行卡密码:')
            if Helper.check_pwd(pwd,user.card.pwd):
                money = int(input('请输入您要存入的金额:'))
                user.card.money += money
                User.save_info(self.userinfo)
                print('存款成功')
                break
            else:
                print('密码错误,请重新输入')
                count += 1
                if count >= 3:
                    print('密码错误次数已达上限')

    def get_money(self):
        cid = input('请输入您的银行卡号:')
        user = self.userinfo[cid]
        count = 0
        if user.card.islock:
            print('你的银行卡已冻结')
            return
        while True:
            pwd = input('请输入您的银行卡密码:')
            if Helper.check_pwd(pwd,user.card.pwd):
                money = int(input('请输入您要获取的金额:'))
                if user.card.money >= money:
                    user.card.money -= money
                    User.save_info(self.userinfo)
                    print('取款成功')
                    break
                else:
                    print('余额不足')
            else:
                print('密码错误,请重新输入')
                count += 1
                if count >= 3:
                    print('密码错误已达上限,银行卡已锁定')
                    user.card.islock = True
    #转账
    def give_money(self):
        cid = input('请输入您的银行卡号:')
        user = self.userinfo[cid]
        count = 0
        if user.card.islock:
            print('您的银行卡已冻结')
            return
        count = 0
        while True:
            pwd = input('请输入您的银行卡密码:')
            if Helper.check_pwd(pwd,user.card.pwd):
                cid1 = input('请输入您要转账的银行卡号:')
                user1 = self.userinfo[cid1]
                money = int(input('请输入您要转账的金额:'))
                user.card.money -= money
                user1.card.money += money
                User.save_info(self.userinfo)
                print('转账成功')
                break
            else:
                print('密码错误,请重新输入')
                count += 1
                if count >= 3:
                    print('密码错误次数已达上限,银行卡已锁定')
                    user.card.islock = True
    def lockcard(self):
        pass

    def nolock(self):
        cid = input('请输入您要解锁的银行卡号:')
        uid = input('请出示您的身份证:')
        user = self.userinfo[cid]
        if user.uid == uid:
            user.card.islock = False
        else:
            print('身份证错误')

    def show(self):
        for i in self.userinfo:
            print(self.userinfo[i])



class Helper:

    @staticmethod
    #生成银行卡号
    def generate_card_cid(length=8):
        cid = ''
        for i in range(length):
            cid += str(randint(0,9))
        return cid

    #加密用户密码信息
    @staticmethod
    def encry_pwd(pwd):
        m = hashlib.md5()
        m.update(pwd.encode('utf-8'))
        return m.hexdigest()

    #核对用户信息
    @staticmethod
    def check_pwd(pwd,pwd_hash):
        m = hashlib.md5()
        m.update(pwd.encode('utf-8'))
        return m.hexdigest() == pwd_hash



#创建管理员对象
admin = Admin()
admin.welcome()
count = 0

while True:
    ret = admin.login()
    #加载用户信息
    userinfo = User.load_info()
    operate = Operate(userinfo)
    if ret:
        print('登录成功')
        while True:
            admin.menu()
            num = int(input('请输入您要进行的操作:'))
            isbreak = False
            if num == 0:
                operate.new_user()

            if num == 1:
                operate.del_uesr()

            if num == 2:
                operate.query_money()

            if num == 3:
                operate.save_money()

            if num == 4:
                operate.get_money()

            if num == 5:
                operate.give_money()

            if num == 6:
                operate.lockcard()

            if num == 7:
                operate.nolock()

            if num == 8:
                operate.show()

            if num == 9:
                isbreak = True
                break
            if isbreak == True:
                break

    else:
        print('密码错误,请重新输入')
        count += 1
        if count >= 3:
            print('密码错误上限')
回答问题 2023.11.23

用python解决问题

答:

def fahrenheit_to_celsius(fahrenheit):
    celsius = (fahrenheit - 32) * 5 / 9
    return celsius

# 使用示例
fahrenheit = 100
celsius = fahrenheit_to_celsius(fahrenheit)
print(f"{fahrenheit}华氏度等于{celsius}摄氏度")

回答问题 2023.11.23

谁能莫名其妙帮我解答问题

答:

# -*- coding:utf-8 -*-
import hashlib
from random import randint
import os
import pickle

class Card:

    def __init__(self,cid,pwd):

        self.cid = cid
        self.pwd = pwd
        self.money = 0
        self.islock = False
class Admin:
    def __init__(self,name = 'admin',password = '123456'):
        self.name = name
        self.password = password

    def welcome(self):
        print('欢迎使用xx银行系统')

    #设置登录
    def login(self):
        name = input('请输入您的用户名:')
        password = input('请输入您的密码:')
        if name == self.name and password == self.password:
            return True
        else:
            return False

    #设置菜单界面
    def menu(self):
        print('建户【0】 销户【1】 查看余额【2】 存款【3】 取款【4】')
        print('转账【5】 锁卡【6】 解锁【7】 用户信息【8】 退出【9】')


class User:
    def __init__(self,name,uid,card):
        self.name = name
        self.uid = uid
        self.card = card

    def __str__(self):
        return '姓名:{} 身份证号:{} 银行卡:{}'.format(self.name,self.uid,self.card.cid)

    #保存用户信息到文件中
    @staticmethod
    def save_info(userinfo):
        #拼接要存放信息的目录
        pathname = os.path.join(os.getcwd(),'user_info.db')
        with open(pathname,'wb') as fp:
            pickle.dump(userinfo,fp)

    @staticmethod
    def load_info():
        pathname = os.path.join(os.getcwd(),'user_info.db')
        if os.path.exists(pathname):
            with open(pathname,'rb') as fp:
                ret = pickle.load(fp)
                return ret
        else:
            return {}


class Operate:
    def __init__(self,userinfo={}):
        self.userinfo = userinfo

    #设置银行系统的各种功能
    def new_user(self):
        name = input('请输入您的名字:')
        uid = input('请输入您的身份证号:')
        pwd = input('请输入您的银行卡密码:')
        #生成银行卡号
        cid = Helper.generate_card_cid()
        #加密银行卡密码
        pwd = Helper.encry_pwd(pwd)
        #创建银行卡和用户对象
        card = Card(cid,pwd)
        user = User(name,uid,card)
        self.userinfo[cid] = user
        #保存用户信息
        User.save_info(self.userinfo)
        print('开户成功!')

    def del_uesr(self):
        while True:
            cid = input('请输入您的银行卡号:')
            if cid:
                user = self.userinfo[cid]
                count = 0
                while True:
                    pwd = input('请输入您的银行卡密码:')
                    if Helper.check_pwd(pwd,user.card.pwd):
                        del self.userinfo[cid]
                        User.save_info(self.userinfo)
                        break
                    else:
                        print('密码错误,请重新输入')
                        count += 1
                        if count >= 3:
                            print('密码错误次数上限')
            else:
                print('银行卡号不存在,请重新输入')

    def query_money(self):
        cid = input('请输入您的银行卡号:')
        user = self.userinfo[cid]
        print('金额:{}'.format(user.card.money))

    def save_money(self):
        cid = input('请输入您的银行卡号:')
        user = self.userinfo[cid]
        count = 0
        if user.card.islock:
            print('您的银行卡已冻结')
            return
        while True:
            pwd = input('请输入您的银行卡密码:')
            if Helper.check_pwd(pwd,user.card.pwd):
                money = int(input('请输入您要存入的金额:'))
                user.card.money += money
                User.save_info(self.userinfo)
                print('存款成功')
                break
            else:
                print('密码错误,请重新输入')
                count += 1
                if count >= 3:
                    print('密码错误次数已达上限')

    def get_money(self):
        cid = input('请输入您的银行卡号:')
        user = self.userinfo[cid]
        count = 0
        if user.card.islock:
            print('你的银行卡已冻结')
            return
        while True:
            pwd = input('请输入您的银行卡密码:')
            if Helper.check_pwd(pwd,user.card.pwd):
                money = int(input('请输入您要获取的金额:'))
                if user.card.money >= money:
                    user.card.money -= money
                    User.save_info(self.userinfo)
                    print('取款成功')
                    break
                else:
                    print('余额不足')
            else:
                print('密码错误,请重新输入')
                count += 1
                if count >= 3:
                    print('密码错误已达上限,银行卡已锁定')
                    user.card.islock = True
    #转账
    def give_money(self):
        cid = input('请输入您的银行卡号:')
        user = self.userinfo[cid]
        count = 0
        if user.card.islock:
            print('您的银行卡已冻结')
            return
        count = 0
        while True:
            pwd = input('请输入您的银行卡密码:')
            if Helper.check_pwd(pwd,user.card.pwd):
                cid1 = input('请输入您要转账的银行卡号:')
                user1 = self.userinfo[cid1]
                money = int(input('请输入您要转账的金额:'))
                user.card.money -= money
                user1.card.money += money
                User.save_info(self.userinfo)
                print('转账成功')
                break
            else:
                print('密码错误,请重新输入')
                count += 1
                if count >= 3:
                    print('密码错误次数已达上限,银行卡已锁定')
                    user.card.islock = True
    def lockcard(self):
        pass

    def nolock(self):
        cid = input('请输入您要解锁的银行卡号:')
        uid = input('请出示您的身份证:')
        user = self.userinfo[cid]
        if user.uid == uid:
            user.card.islock = False
        else:
            print('身份证错误')

    def show(self):
        for i in self.userinfo:
            print(self.userinfo[i])



class Helper:

    @staticmethod
    #生成银行卡号
    def generate_card_cid(length=8):
        cid = ''
        for i in range(length):
            cid += str(randint(0,9))
        return cid

    #加密用户密码信息
    @staticmethod
    def encry_pwd(pwd):
        m = hashlib.md5()
        m.update(pwd.encode('utf-8'))
        return m.hexdigest()

    #核对用户信息
    @staticmethod
    def check_pwd(pwd,pwd_hash):
        m = hashlib.md5()
        m.update(pwd.encode('utf-8'))
        return m.hexdigest() == pwd_hash



#创建管理员对象
admin = Admin()
admin.welcome()
count = 0

while True:
    ret = admin.login()
    #加载用户信息
    userinfo = User.load_info()
    operate = Operate(userinfo)
    if ret:
        print('登录成功')
        while True:
            admin.menu()
            num = int(input('请输入您要进行的操作:'))
            isbreak = False
            if num == 0:
                operate.new_user()

            if num == 1:
                operate.del_uesr()

            if num == 2:
                operate.query_money()

            if num == 3:
                operate.save_money()

            if num == 4:
                operate.get_money()

            if num == 5:
                operate.give_money()

            if num == 6:
                operate.lockcard()

            if num == 7:
                operate.nolock()

            if num == 8:
                operate.show()

            if num == 9:
                isbreak = True
                break
            if isbreak == True:
                break

    else:
        print('密码错误,请重新输入')
        count += 1
        if count >= 3:
            print('密码错误上限')
回答问题 2023.11.23

用python解决问题

答:

def fahrenheit_to_celsius(fahrenheit):
    celsius = (fahrenheit - 32) * 5 / 9
    return celsius

# 使用示例
fahrenheit = 100
celsius = fahrenheit_to_celsius(fahrenheit)
print(f"{fahrenheit}华氏度等于{celsius}摄氏度")

回答问题 2023.11.23

用python解决问题

答:

def fahrenheit_to_celsius(fahrenheit):
    celsius = (fahrenheit - 32) * 5 / 9
    return celsius

# 使用示例
fahrenheit = 100
celsius = fahrenheit_to_celsius(fahrenheit)
print(f"{fahrenheit}华氏度等于{celsius}摄氏度")

回答问题 2023.11.23

谁能莫名其妙帮我解答问题

答:

# -*- coding:utf-8 -*-
import hashlib
from random import randint
import os
import pickle

class Card:

    def __init__(self,cid,pwd):

        self.cid = cid
        self.pwd = pwd
        self.money = 0
        self.islock = False
class Admin:
    def __init__(self,name = 'admin',password = '123456'):
        self.name = name
        self.password = password

    def welcome(self):
        print('欢迎使用xx银行系统')

    #设置登录
    def login(self):
        name = input('请输入您的用户名:')
        password = input('请输入您的密码:')
        if name == self.name and password == self.password:
            return True
        else:
            return False

    #设置菜单界面
    def menu(self):
        print('建户【0】 销户【1】 查看余额【2】 存款【3】 取款【4】')
        print('转账【5】 锁卡【6】 解锁【7】 用户信息【8】 退出【9】')


class User:
    def __init__(self,name,uid,card):
        self.name = name
        self.uid = uid
        self.card = card

    def __str__(self):
        return '姓名:{} 身份证号:{} 银行卡:{}'.format(self.name,self.uid,self.card.cid)

    #保存用户信息到文件中
    @staticmethod
    def save_info(userinfo):
        #拼接要存放信息的目录
        pathname = os.path.join(os.getcwd(),'user_info.db')
        with open(pathname,'wb') as fp:
            pickle.dump(userinfo,fp)

    @staticmethod
    def load_info():
        pathname = os.path.join(os.getcwd(),'user_info.db')
        if os.path.exists(pathname):
            with open(pathname,'rb') as fp:
                ret = pickle.load(fp)
                return ret
        else:
            return {}


class Operate:
    def __init__(self,userinfo={}):
        self.userinfo = userinfo

    #设置银行系统的各种功能
    def new_user(self):
        name = input('请输入您的名字:')
        uid = input('请输入您的身份证号:')
        pwd = input('请输入您的银行卡密码:')
        #生成银行卡号
        cid = Helper.generate_card_cid()
        #加密银行卡密码
        pwd = Helper.encry_pwd(pwd)
        #创建银行卡和用户对象
        card = Card(cid,pwd)
        user = User(name,uid,card)
        self.userinfo[cid] = user
        #保存用户信息
        User.save_info(self.userinfo)
        print('开户成功!')

    def del_uesr(self):
        while True:
            cid = input('请输入您的银行卡号:')
            if cid:
                user = self.userinfo[cid]
                count = 0
                while True:
                    pwd = input('请输入您的银行卡密码:')
                    if Helper.check_pwd(pwd,user.card.pwd):
                        del self.userinfo[cid]
                        User.save_info(self.userinfo)
                        break
                    else:
                        print('密码错误,请重新输入')
                        count += 1
                        if count >= 3:
                            print('密码错误次数上限')
            else:
                print('银行卡号不存在,请重新输入')

    def query_money(self):
        cid = input('请输入您的银行卡号:')
        user = self.userinfo[cid]
        print('金额:{}'.format(user.card.money))

    def save_money(self):
        cid = input('请输入您的银行卡号:')
        user = self.userinfo[cid]
        count = 0
        if user.card.islock:
            print('您的银行卡已冻结')
            return
        while True:
            pwd = input('请输入您的银行卡密码:')
            if Helper.check_pwd(pwd,user.card.pwd):
                money = int(input('请输入您要存入的金额:'))
                user.card.money += money
                User.save_info(self.userinfo)
                print('存款成功')
                break
            else:
                print('密码错误,请重新输入')
                count += 1
                if count >= 3:
                    print('密码错误次数已达上限')

    def get_money(self):
        cid = input('请输入您的银行卡号:')
        user = self.userinfo[cid]
        count = 0
        if user.card.islock:
            print('你的银行卡已冻结')
            return
        while True:
            pwd = input('请输入您的银行卡密码:')
            if Helper.check_pwd(pwd,user.card.pwd):
                money = int(input('请输入您要获取的金额:'))
                if user.card.money >= money:
                    user.card.money -= money
                    User.save_info(self.userinfo)
                    print('取款成功')
                    break
                else:
                    print('余额不足')
            else:
                print('密码错误,请重新输入')
                count += 1
                if count >= 3:
                    print('密码错误已达上限,银行卡已锁定')
                    user.card.islock = True
    #转账
    def give_money(self):
        cid = input('请输入您的银行卡号:')
        user = self.userinfo[cid]
        count = 0
        if user.card.islock:
            print('您的银行卡已冻结')
            return
        count = 0
        while True:
            pwd = input('请输入您的银行卡密码:')
            if Helper.check_pwd(pwd,user.card.pwd):
                cid1 = input('请输入您要转账的银行卡号:')
                user1 = self.userinfo[cid1]
                money = int(input('请输入您要转账的金额:'))
                user.card.money -= money
                user1.card.money += money
                User.save_info(self.userinfo)
                print('转账成功')
                break
            else:
                print('密码错误,请重新输入')
                count += 1
                if count >= 3:
                    print('密码错误次数已达上限,银行卡已锁定')
                    user.card.islock = True
    def lockcard(self):
        pass

    def nolock(self):
        cid = input('请输入您要解锁的银行卡号:')
        uid = input('请出示您的身份证:')
        user = self.userinfo[cid]
        if user.uid == uid:
            user.card.islock = False
        else:
            print('身份证错误')

    def show(self):
        for i in self.userinfo:
            print(self.userinfo[i])



class Helper:

    @staticmethod
    #生成银行卡号
    def generate_card_cid(length=8):
        cid = ''
        for i in range(length):
            cid += str(randint(0,9))
        return cid

    #加密用户密码信息
    @staticmethod
    def encry_pwd(pwd):
        m = hashlib.md5()
        m.update(pwd.encode('utf-8'))
        return m.hexdigest()

    #核对用户信息
    @staticmethod
    def check_pwd(pwd,pwd_hash):
        m = hashlib.md5()
        m.update(pwd.encode('utf-8'))
        return m.hexdigest() == pwd_hash



#创建管理员对象
admin = Admin()
admin.welcome()
count = 0

while True:
    ret = admin.login()
    #加载用户信息
    userinfo = User.load_info()
    operate = Operate(userinfo)
    if ret:
        print('登录成功')
        while True:
            admin.menu()
            num = int(input('请输入您要进行的操作:'))
            isbreak = False
            if num == 0:
                operate.new_user()

            if num == 1:
                operate.del_uesr()

            if num == 2:
                operate.query_money()

            if num == 3:
                operate.save_money()

            if num == 4:
                operate.get_money()

            if num == 5:
                operate.give_money()

            if num == 6:
                operate.lockcard()

            if num == 7:
                operate.nolock()

            if num == 8:
                operate.show()

            if num == 9:
                isbreak = True
                break
            if isbreak == True:
                break

    else:
        print('密码错误,请重新输入')
        count += 1
        if count >= 3:
            print('密码错误上限')
回答问题 2023.11.23

用python解决问题

答:

def fahrenheit_to_celsius(fahrenheit):
    celsius = (fahrenheit - 32) * 5 / 9
    return celsius

# 使用示例
fahrenheit = 100
celsius = fahrenheit_to_celsius(fahrenheit)
print(f"{fahrenheit}华氏度等于{celsius}摄氏度")

回答问题 2023.11.23

谁能莫名其妙帮我解答问题

答:

# -*- coding:utf-8 -*-
import hashlib
from random import randint
import os
import pickle

class Card:

    def __init__(self,cid,pwd):

        self.cid = cid
        self.pwd = pwd
        self.money = 0
        self.islock = False
class Admin:
    def __init__(self,name = 'admin',password = '123456'):
        self.name = name
        self.password = password

    def welcome(self):
        print('欢迎使用xx银行系统')

    #设置登录
    def login(self):
        name = input('请输入您的用户名:')
        password = input('请输入您的密码:')
        if name == self.name and password == self.password:
            return True
        else:
            return False

    #设置菜单界面
    def menu(self):
        print('建户【0】 销户【1】 查看余额【2】 存款【3】 取款【4】')
        print('转账【5】 锁卡【6】 解锁【7】 用户信息【8】 退出【9】')


class User:
    def __init__(self,name,uid,card):
        self.name = name
        self.uid = uid
        self.card = card

    def __str__(self):
        return '姓名:{} 身份证号:{} 银行卡:{}'.format(self.name,self.uid,self.card.cid)

    #保存用户信息到文件中
    @staticmethod
    def save_info(userinfo):
        #拼接要存放信息的目录
        pathname = os.path.join(os.getcwd(),'user_info.db')
        with open(pathname,'wb') as fp:
            pickle.dump(userinfo,fp)

    @staticmethod
    def load_info():
        pathname = os.path.join(os.getcwd(),'user_info.db')
        if os.path.exists(pathname):
            with open(pathname,'rb') as fp:
                ret = pickle.load(fp)
                return ret
        else:
            return {}


class Operate:
    def __init__(self,userinfo={}):
        self.userinfo = userinfo

    #设置银行系统的各种功能
    def new_user(self):
        name = input('请输入您的名字:')
        uid = input('请输入您的身份证号:')
        pwd = input('请输入您的银行卡密码:')
        #生成银行卡号
        cid = Helper.generate_card_cid()
        #加密银行卡密码
        pwd = Helper.encry_pwd(pwd)
        #创建银行卡和用户对象
        card = Card(cid,pwd)
        user = User(name,uid,card)
        self.userinfo[cid] = user
        #保存用户信息
        User.save_info(self.userinfo)
        print('开户成功!')

    def del_uesr(self):
        while True:
            cid = input('请输入您的银行卡号:')
            if cid:
                user = self.userinfo[cid]
                count = 0
                while True:
                    pwd = input('请输入您的银行卡密码:')
                    if Helper.check_pwd(pwd,user.card.pwd):
                        del self.userinfo[cid]
                        User.save_info(self.userinfo)
                        break
                    else:
                        print('密码错误,请重新输入')
                        count += 1
                        if count >= 3:
                            print('密码错误次数上限')
            else:
                print('银行卡号不存在,请重新输入')

    def query_money(self):
        cid = input('请输入您的银行卡号:')
        user = self.userinfo[cid]
        print('金额:{}'.format(user.card.money))

    def save_money(self):
        cid = input('请输入您的银行卡号:')
        user = self.userinfo[cid]
        count = 0
        if user.card.islock:
            print('您的银行卡已冻结')
            return
        while True:
            pwd = input('请输入您的银行卡密码:')
            if Helper.check_pwd(pwd,user.card.pwd):
                money = int(input('请输入您要存入的金额:'))
                user.card.money += money
                User.save_info(self.userinfo)
                print('存款成功')
                break
            else:
                print('密码错误,请重新输入')
                count += 1
                if count >= 3:
                    print('密码错误次数已达上限')

    def get_money(self):
        cid = input('请输入您的银行卡号:')
        user = self.userinfo[cid]
        count = 0
        if user.card.islock:
            print('你的银行卡已冻结')
            return
        while True:
            pwd = input('请输入您的银行卡密码:')
            if Helper.check_pwd(pwd,user.card.pwd):
                money = int(input('请输入您要获取的金额:'))
                if user.card.money >= money:
                    user.card.money -= money
                    User.save_info(self.userinfo)
                    print('取款成功')
                    break
                else:
                    print('余额不足')
            else:
                print('密码错误,请重新输入')
                count += 1
                if count >= 3:
                    print('密码错误已达上限,银行卡已锁定')
                    user.card.islock = True
    #转账
    def give_money(self):
        cid = input('请输入您的银行卡号:')
        user = self.userinfo[cid]
        count = 0
        if user.card.islock:
            print('您的银行卡已冻结')
            return
        count = 0
        while True:
            pwd = input('请输入您的银行卡密码:')
            if Helper.check_pwd(pwd,user.card.pwd):
                cid1 = input('请输入您要转账的银行卡号:')
                user1 = self.userinfo[cid1]
                money = int(input('请输入您要转账的金额:'))
                user.card.money -= money
                user1.card.money += money
                User.save_info(self.userinfo)
                print('转账成功')
                break
            else:
                print('密码错误,请重新输入')
                count += 1
                if count >= 3:
                    print('密码错误次数已达上限,银行卡已锁定')
                    user.card.islock = True
    def lockcard(self):
        pass

    def nolock(self):
        cid = input('请输入您要解锁的银行卡号:')
        uid = input('请出示您的身份证:')
        user = self.userinfo[cid]
        if user.uid == uid:
            user.card.islock = False
        else:
            print('身份证错误')

    def show(self):
        for i in self.userinfo:
            print(self.userinfo[i])



class Helper:

    @staticmethod
    #生成银行卡号
    def generate_card_cid(length=8):
        cid = ''
        for i in range(length):
            cid += str(randint(0,9))
        return cid

    #加密用户密码信息
    @staticmethod
    def encry_pwd(pwd):
        m = hashlib.md5()
        m.update(pwd.encode('utf-8'))
        return m.hexdigest()

    #核对用户信息
    @staticmethod
    def check_pwd(pwd,pwd_hash):
        m = hashlib.md5()
        m.update(pwd.encode('utf-8'))
        return m.hexdigest() == pwd_hash



#创建管理员对象
admin = Admin()
admin.welcome()
count = 0

while True:
    ret = admin.login()
    #加载用户信息
    userinfo = User.load_info()
    operate = Operate(userinfo)
    if ret:
        print('登录成功')
        while True:
            admin.menu()
            num = int(input('请输入您要进行的操作:'))
            isbreak = False
            if num == 0:
                operate.new_user()

            if num == 1:
                operate.del_uesr()

            if num == 2:
                operate.query_money()

            if num == 3:
                operate.save_money()

            if num == 4:
                operate.get_money()

            if num == 5:
                operate.give_money()

            if num == 6:
                operate.lockcard()

            if num == 7:
                operate.nolock()

            if num == 8:
                operate.show()

            if num == 9:
                isbreak = True
                break
            if isbreak == True:
                break

    else:
        print('密码错误,请重新输入')
        count += 1
        if count >= 3:
            print('密码错误上限')
回答问题 2023.11.23

谁能莫名其妙帮我解答问题

答:

# -*- coding:utf-8 -*-
import hashlib
from random import randint
import os
import pickle

class Card:

    def __init__(self,cid,pwd):

        self.cid = cid
        self.pwd = pwd
        self.money = 0
        self.islock = False
class Admin:
    def __init__(self,name = 'admin',password = '123456'):
        self.name = name
        self.password = password

    def welcome(self):
        print('欢迎使用xx银行系统')

    #设置登录
    def login(self):
        name = input('请输入您的用户名:')
        password = input('请输入您的密码:')
        if name == self.name and password == self.password:
            return True
        else:
            return False

    #设置菜单界面
    def menu(self):
        print('建户【0】 销户【1】 查看余额【2】 存款【3】 取款【4】')
        print('转账【5】 锁卡【6】 解锁【7】 用户信息【8】 退出【9】')


class User:
    def __init__(self,name,uid,card):
        self.name = name
        self.uid = uid
        self.card = card

    def __str__(self):
        return '姓名:{} 身份证号:{} 银行卡:{}'.format(self.name,self.uid,self.card.cid)

    #保存用户信息到文件中
    @staticmethod
    def save_info(userinfo):
        #拼接要存放信息的目录
        pathname = os.path.join(os.getcwd(),'user_info.db')
        with open(pathname,'wb') as fp:
            pickle.dump(userinfo,fp)

    @staticmethod
    def load_info():
        pathname = os.path.join(os.getcwd(),'user_info.db')
        if os.path.exists(pathname):
            with open(pathname,'rb') as fp:
                ret = pickle.load(fp)
                return ret
        else:
            return {}


class Operate:
    def __init__(self,userinfo={}):
        self.userinfo = userinfo

    #设置银行系统的各种功能
    def new_user(self):
        name = input('请输入您的名字:')
        uid = input('请输入您的身份证号:')
        pwd = input('请输入您的银行卡密码:')
        #生成银行卡号
        cid = Helper.generate_card_cid()
        #加密银行卡密码
        pwd = Helper.encry_pwd(pwd)
        #创建银行卡和用户对象
        card = Card(cid,pwd)
        user = User(name,uid,card)
        self.userinfo[cid] = user
        #保存用户信息
        User.save_info(self.userinfo)
        print('开户成功!')

    def del_uesr(self):
        while True:
            cid = input('请输入您的银行卡号:')
            if cid:
                user = self.userinfo[cid]
                count = 0
                while True:
                    pwd = input('请输入您的银行卡密码:')
                    if Helper.check_pwd(pwd,user.card.pwd):
                        del self.userinfo[cid]
                        User.save_info(self.userinfo)
                        break
                    else:
                        print('密码错误,请重新输入')
                        count += 1
                        if count >= 3:
                            print('密码错误次数上限')
            else:
                print('银行卡号不存在,请重新输入')

    def query_money(self):
        cid = input('请输入您的银行卡号:')
        user = self.userinfo[cid]
        print('金额:{}'.format(user.card.money))

    def save_money(self):
        cid = input('请输入您的银行卡号:')
        user = self.userinfo[cid]
        count = 0
        if user.card.islock:
            print('您的银行卡已冻结')
            return
        while True:
            pwd = input('请输入您的银行卡密码:')
            if Helper.check_pwd(pwd,user.card.pwd):
                money = int(input('请输入您要存入的金额:'))
                user.card.money += money
                User.save_info(self.userinfo)
                print('存款成功')
                break
            else:
                print('密码错误,请重新输入')
                count += 1
                if count >= 3:
                    print('密码错误次数已达上限')

    def get_money(self):
        cid = input('请输入您的银行卡号:')
        user = self.userinfo[cid]
        count = 0
        if user.card.islock:
            print('你的银行卡已冻结')
            return
        while True:
            pwd = input('请输入您的银行卡密码:')
            if Helper.check_pwd(pwd,user.card.pwd):
                money = int(input('请输入您要获取的金额:'))
                if user.card.money >= money:
                    user.card.money -= money
                    User.save_info(self.userinfo)
                    print('取款成功')
                    break
                else:
                    print('余额不足')
            else:
                print('密码错误,请重新输入')
                count += 1
                if count >= 3:
                    print('密码错误已达上限,银行卡已锁定')
                    user.card.islock = True
    #转账
    def give_money(self):
        cid = input('请输入您的银行卡号:')
        user = self.userinfo[cid]
        count = 0
        if user.card.islock:
            print('您的银行卡已冻结')
            return
        count = 0
        while True:
            pwd = input('请输入您的银行卡密码:')
            if Helper.check_pwd(pwd,user.card.pwd):
                cid1 = input('请输入您要转账的银行卡号:')
                user1 = self.userinfo[cid1]
                money = int(input('请输入您要转账的金额:'))
                user.card.money -= money
                user1.card.money += money
                User.save_info(self.userinfo)
                print('转账成功')
                break
            else:
                print('密码错误,请重新输入')
                count += 1
                if count >= 3:
                    print('密码错误次数已达上限,银行卡已锁定')
                    user.card.islock = True
    def lockcard(self):
        pass

    def nolock(self):
        cid = input('请输入您要解锁的银行卡号:')
        uid = input('请出示您的身份证:')
        user = self.userinfo[cid]
        if user.uid == uid:
            user.card.islock = False
        else:
            print('身份证错误')

    def show(self):
        for i in self.userinfo:
            print(self.userinfo[i])



class Helper:

    @staticmethod
    #生成银行卡号
    def generate_card_cid(length=8):
        cid = ''
        for i in range(length):
            cid += str(randint(0,9))
        return cid

    #加密用户密码信息
    @staticmethod
    def encry_pwd(pwd):
        m = hashlib.md5()
        m.update(pwd.encode('utf-8'))
        return m.hexdigest()

    #核对用户信息
    @staticmethod
    def check_pwd(pwd,pwd_hash):
        m = hashlib.md5()
        m.update(pwd.encode('utf-8'))
        return m.hexdigest() == pwd_hash



#创建管理员对象
admin = Admin()
admin.welcome()
count = 0

while True:
    ret = admin.login()
    #加载用户信息
    userinfo = User.load_info()
    operate = Operate(userinfo)
    if ret:
        print('登录成功')
        while True:
            admin.menu()
            num = int(input('请输入您要进行的操作:'))
            isbreak = False
            if num == 0:
                operate.new_user()

            if num == 1:
                operate.del_uesr()

            if num == 2:
                operate.query_money()

            if num == 3:
                operate.save_money()

            if num == 4:
                operate.get_money()

            if num == 5:
                operate.give_money()

            if num == 6:
                operate.lockcard()

            if num == 7:
                operate.nolock()

            if num == 8:
                operate.show()

            if num == 9:
                isbreak = True
                break
            if isbreak == True:
                break

    else:
        print('密码错误,请重新输入')
        count += 1
        if count >= 3:
            print('密码错误上限')
回答问题 2023.11.23

用python解决问题

答:

def fahrenheit_to_celsius(fahrenheit):
    celsius = (fahrenheit - 32) * 5 / 9
    return celsius

# 使用示例
fahrenheit = 100
celsius = fahrenheit_to_celsius(fahrenheit)
print(f"{fahrenheit}华氏度等于{celsius}摄氏度")

回答问题 2023.11.23
加载更多