头像

代码改变头发




在线 


最近来访(225)
用户头像
踏川
用户头像
icebreaker
用户头像
绘事后素
用户头像
WanderOvO
用户头像
霹雳游峡
用户头像
CHN右手
用户头像
bobo2010
用户头像
15358022392
用户头像
Hzu_jr
用户头像
thunderclouds
用户头像
RyanMoriarty
用户头像
嘶锅咦
用户头像
IEE__
用户头像
aI.NcJo
用户头像
lzylp
用户头像
翩竹
用户头像
月色
用户头像
L.妍ab
用户头像
Algorithm没有冬眠
用户头像
Syw丶


实验步骤

配置docker环境

  1. AcTerminal中的docker镜像传入云服务器中:
    scp /var/lib/acwing/docker/images/django_lesson_1_0.tar server_name:

  2. 将镜像从tar文件加载出来:
    docker load -i django_lesson_1_0.tar

  3. 利用镜像生成一个我们将要使用的容器:
    docker run -p 20000:22 -p 8000:8000 --name django_server -itd django_lesson:1.0

    • docker [contaienr] run -itd ubuntu:20.04:创建并启动一个容器
    • 20000:22:用于ssh登录.
    • 8000:8000:用于调试, 也可以使用其他空闲端口
  4. 进入我们创建的容器(我们的虚拟服务器):
    docker attach django_server

  5. 与云服务器相同, 我们也不会在虚拟服务器中直接使用root权限, 会创建一个有sudo权限的用户.

    • adduser user_name:添加用户user_name
    • usermod -aG sudo user_name:为用户添加sudo权限
  6. 挂起容器(让虚拟服务器在后台运行):
    Ctrl + p --> Ctrl + q.

  7. 去云服务器打开上面使用的两个端口:200008000.

  8. 回到AcTerminal, 对在docker虚拟服务器创建的用户user_name配置别名与免密登录.

  9. AcTerminal的几个配置传至虚拟服务器, 找到熟悉的感觉:
    scp .bashrc .vimrc .tmux.conf django:


创建django项目$\&$配置git

  1. 打开tmux是个好习惯, 防止意外退出工作丢失.

  2. 创建一个项目:
    django-admin startproject acapp. 其中acapp为项目名.

  3. 配置git — 使用git维护项目:

    • git init: 将当前目录配置成git仓库,信息记录在隐藏的.git文件夹中.
    • ssh-keygen: 在当前虚拟服务器生成密钥, 方便之后与gitlab连接.
    • 去云端gitlabacgit上创建一个空项目.
    • 全局设置用户名: git config --global user.name "user_name". 信息记录在~/.gitconfig中.
    • 全局设置邮箱地址:git config --global user.email "w2230807564@163.com". 信息记录在~/.gitconfig中.
    • 在本地将django项目创建一个节点. git add --> git commit -m "".
    • 将本地已有仓库关联到远程云端仓库: git remote add origin git@git.acwing.com:username/acapp.git
    • 将本地生成共有密钥复制传入gitlab.
    • 设置本地的branch_name分支对应远程仓库的branch_name分支: push --set-upstream origin master

创建编写项目

  1. 首先尝试运行项目: python3 manage.py runserver 0.0.0.0:8000
    • 运行成功, 可以输入我们云服务器IP加上8000端口: IP:8000.
    • 网页提示需要将IP地址放入ALLOWED_HOSTS.
    • 小技巧: 使用ag ALLOWED_HOSTS找到其所属文件以及在文件中的位置. 将我们的IP加入其中.
    • 至此我们就成功运行我们的项目了.
      $\;$
  2. 创建app
    • 小技巧: 使用git add .将所有修改文件加入暂存区时忽略某些文件. 在git仓库
      根目录创建.gitignore, 每行写入你希望忽略的文件名(可使用类型正则表达式的匹配模式).
      $\;$
    • 我们输入IP:8000看到的网页是Django默认网页. 要编写我们自己的网页(代码), 需要
      创建app. (project提供配置文件; 我们在app编写模型和视图代码).
      $\;$
    • Y总习惯: 再开一个tmux. 一个tmux用于维护控制台, 接受运行过程中的信息; 另一个用于开发.
      我们可以Ctrl-a + d挂起当前tmux, 输入tmux再创建一个. 之后用Ctrl-a + s在两个tmux间切换.
      $\;$
    • 生成一个app: python3 manage.py startapp game. 其中gameapp名.
    • app文件中的内容:
      • admin.py: 存储管理员页面
      • models.py: 定义数据库表
      • views.py: 视图/函数
    • 关闭运行中的项目(Ctrl-c), 更新数据库: python3 manage.py migrate.(不执行更新指令就再次
      运行项目会提示我们执行这条指令以更新数据库).
    • 此时输入IP:8080/admin就可以进入admin页面了.
    • 创建管理员以登录admin页面: python3 manage.py createsuperuser.
      $\;$
  3. 编写页面
    • 关键的几个文件(夹):
      • models.py: 数据存储格式, 如Class.
      • views.py: 视图/函数逻辑, 例如点击网页中的按钮, 实际是调用在views中实现的函数.
      • urls.py: 路由, 根据不同网页地址判断调用什么函数.
      • templates: 文件夹, 存储页面格式. 如html.
      • 随着网站逻辑的增加, 上述的几个文件可以借助python很容易的扩展为文件夹(树形结构的文件).
        $\;$
    • views中写入返回字符串的函数(网页向views传入请求, 其返回一个字符串); 在game下的
      urls中写入如果地址为IP:8000/..., 调用哪个函数, 此外要在app下的urls引入gameurls.
      $\;$
    • 大致顺序: 输入网址 --> acapp/urls --> game/urls --> game/views内的函数 -->
      返回字符串至网页.
      $\;\;$

网页地址

项目地址



活动打卡代码 Linux Django-2.1. 上课笔记

实验步骤

配置docker环境

  1. AcTerminal中的docker镜像传入云服务器中:
    scp /var/lib/acwing/docker/images/django_lesson_1_0.tar server_name:

  2. 将镜像从tar文件加载出来:
    docker load -i django_lesson_1_0.tar

  3. 利用镜像生成一个我们将要使用的容器:
    docker run -p 20000:22 -p 8000:8000 --name django_server -itd django_lesson:1.0

    • docker [contaienr] run -itd ubuntu:20.04:创建并启动一个容器
    • 20000:22:用于ssh登录.
    • 8000:8000:用于调试, 也可以使用其他空闲端口
  4. 进入我们创建的容器(我们的虚拟服务器):
    docker attach django_server

  5. 与云服务器相同, 我们也不会在虚拟服务器中直接使用root权限, 会创建一个有sudo权限的用户.

    • adduser user_name:添加用户user_name
    • usermod -aG sudo user_name:为用户添加sudo权限
  6. 挂起容器(让虚拟服务器在后台运行):
    Ctrl + p --> Ctrl + q.

  7. 去云服务器打开上面使用的两个端口:200008000.

  8. 回到AcTerminal, 对在docker虚拟服务器创建的用户user_name配置别名与免密登录.

  9. AcTerminal的几个配置传至虚拟服务器, 找到熟悉的感觉:
    scp .bashrc .vimrc .tmux.conf django:


创建django项目$\&$配置git

  1. 打开tmux是个好习惯, 防止意外退出工作丢失.

  2. 创建一个项目:
    django-admin startproject acapp. 其中acapp为项目名.

  3. 配置git — 使用git维护项目:

    • git init: 将当前目录配置成git仓库,信息记录在隐藏的.git文件夹中.
    • ssh-keygen: 在当前虚拟服务器生成密钥, 方便之后与gitlab连接.
    • 去云端gitlabacgit上创建一个空项目.
    • 全局设置用户名: git config --global user.name "user_name". 信息记录在~/.gitconfig中.
    • 全局设置邮箱地址:git config --global user.email "w2230807564@163.com". 信息记录在~/.gitconfig中.
    • 在本地将django项目创建一个节点. git add --> git commit -m "".
    • 将本地已有仓库关联到远程云端仓库: git remote add origin git@git.acwing.com:username/acapp.git
    • 将本地生成共有密钥复制传入gitlab.
    • 设置本地的branch_name分支对应远程仓库的branch_name分支: push --set-upstream origin master

创建编写项目

  1. 首先尝试运行项目: python3 manage.py runserver 0.0.0.0:8000
    • 运行成功, 可以输入我们云服务器IP加上8000端口: IP:8000.
    • 网页提示需要将IP地址放入ALLOWED_HOSTS.
    • 小技巧: 使用ag ALLOWED_HOSTS找到其所属文件以及在文件中的位置. 将我们的IP加入其中.
    • 至此我们就成功运行我们的项目了.
      $\;$
  2. 创建app
    • 小技巧: 使用git add .将所有修改文件加入暂存区时忽略某些文件. 在git仓库
      根目录创建.gitignore, 每行写入你希望忽略的文件名(可使用类型正则表达式的匹配模式).
      $\;$
    • 我们输入IP:8000看到的网页是Django默认网页. 要编写我们自己的网页(代码), 需要
      创建app. (project提供配置文件; 我们在app编写模型和视图代码).
      $\;$
    • Y总习惯: 再开一个tmux. 一个tmux用于维护控制台, 接受运行过程中的信息; 另一个用于开发.
      我们可以Ctrl-a + d挂起当前tmux, 输入tmux再创建一个. 之后用Ctrl-a + s在两个tmux间切换.
      $\;$
    • 生成一个app: python3 manage.py startapp game. 其中gameapp名.
    • app文件中的内容:
      • admin.py: 存储管理员页面
      • models.py: 定义数据库表
      • views.py: 视图/函数
    • 关闭运行中的项目(Ctrl-c), 更新数据库: python3 manage.py migrate.(不执行更新指令就再次
      运行项目会提示我们执行这条指令以更新数据库).
    • 此时输入IP:8080/admin就可以进入admin页面了.
    • 创建管理员以登录admin页面: python3 manage.py createsuperuser.
      $\;$
  3. 编写页面
    • 关键的几个文件(夹):
      • models.py: 数据存储格式, 如Class.
      • views.py: 视图/函数逻辑, 例如点击网页中的按钮, 实际是调用在views中实现的函数.
      • urls.py: 路由, 根据不同网页地址判断调用什么函数.
      • templates: 文件夹, 存储页面格式. 如html.
      • 随着网站逻辑的增加, 上述的几个文件可以借助python很容易的扩展为文件夹(树形结构的文件).
        $\;$
    • views中写入返回字符串的函数(网页向views传入请求, 其返回一个字符串); 在game下的
      urls中写入如果地址为IP:8000/..., 调用哪个函数, 此外要在app下的urls引入gameurls.
      $\;$
    • 大致顺序: 输入网址 --> acapp/urls --> game/urls --> game/views内的函数 -->
      返回字符串至网页.
      $\;\;$

网页地址

项目地址



活动打卡代码 AcWing 823. 排列

n = int(input())
path = [0 for i in range(n)]
used = [False for i in range(n)]

def dfs(u):
    if u == n:
        for i in range(n):
            print(path[i] + 1, end=' ')
        print()
    else:
        for i in range(n):
            if not used[i]:
                used[i] = True
                path[u] = i
                dfs(u + 1)
                used[i] = False

dfs(0)



活动打卡代码 AcWing 756. 蛇形矩阵

二维矩阵的申明方式:

n, m = map(int, input().split(' '))

res = [[0 for j in range(m)] for i in range(n)]  # n * m的二维数组 初始值为0
dx, dy = [0, 1, 0, -1], [1, 0, -1, 0]
x, y, d = 0, 0, 0

for i in range(1, n * m + 1):
    res[x][y] = i
    a, b = x + dx[d], y + dy[d]
    if a < 0 or a >= n or b < 0 or b >= m or res[a][b]:
        d = (d + 1) % 4
        a, b = x + dx[d], y + dy[d]
    x, y = a, b

for i in range(n):
    for j in range(m):
        print(res[i][j], end = ' ')
    print()



type = input()

s, c = 0, 0

for i in range(12):
    line = list( map(float, input().split(' ')) )
    for j in range(12):
        if j > i:
            s += line[j]
            c += 1

if type == 'M':
    s /= c

print("%.1f" % (s))


活动打卡代码 AcWing 726. 质数

for循环中的else:for 循环中,可迭代对象中的元素全部循环完毕时,或 while 循环的条件为假时,执行该子句; break 语句终止循环时,不执行该子句.

import math

n = int(input())

for i in range(n):
    x = int(input())
    for j in range(2, int(math.sqrt(x)) + 1):
        if x % j == 0:
            print(x,"is not prime")
            break
    else:
        print(x,"is prime")


活动打卡代码 AcWing 660. 零食

列表list; 格式化输出.

price = [0, 4, 4.5, 5, 2, 1.5]

x, y = map(int, input().split(' '))

print("Total: R$ %.2f" % (price[x] * y))


活动打卡代码 AcWing 670. 动物

if-else$…$if-else

s1 = input()
s2 = input()
s3 = input()

if s1 == 'vertebrado':
    if s2 == 'ave':
        if s3 == 'carnivoro':
            print('aguia')
        else:
            print('pomba')
    else:
        if s3 == 'onivoro':
            print('homem')
        else:
            print('vaca')
else:
    if s2 == 'inseto':
        if s3 == 'hematofago':
            print('pulga')
        else:
            print('lagarta')
    else:
        if s3 == 'onivoro':
            print('minhoca')
        else:
            print('sanguessuga')


活动打卡代码 AcWing 665. 倍数

python读入一行整数:

  • input().split(' ')会返回分割后的若干字符串.

  • map(function, iterable, …): 对指定序列iterable根据提供的函数做映射(操作).

  • map(int, input().split(‘ ‘)) 对字符串序列做int操作 — pythonint是一个函数.

a, b = map(int, input().split(' '))

if a % b == 0 or b % a == 0:
    print('Sao Multiplos')
else:
    print('Nao sao Multiplos')


活动打卡代码 AcWing 608. 差

python输入函数:input, 接受输入返回字符串类型.

格式化字符串的一种方式: " ... %d ... %s" % (a, s)

a = int(input())
b = int(input())
c = int(input())
d = int(input())

print("DIFERENCA = %d" % (a * b - c * d))