学习周报

本周学习了Django的3.3至4.9章节,包括新建虚拟环境、配置数据库等操作。同时,深入学习Python,完成了编程练习,并编写了一个符合特定规则的随机密码生成程序。还对Python基础指令进行了整理,涉及turtle库和random库的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、django学习情况

完成3.3到3.5,4.1到4.9的学习。

第四章主要学习过程

1.新建虚拟环境,在虚拟环境中安装django,MySQL和pillow(MySQL无法使用pip直接安装)

2.新建pycharm项目,将interpreter设置为虚拟环境中的python.exe

3.Navicate中新建数据库

4.settings中配置DATABASES(ENGINE、NAME、USER、PASSWORD、HOST)

5.makemigrations、migrate生成数据表

6.新建app,startapp users(所有系统中users表都是最先进行设计)

7.编写users表中的model

首先from django.contrib.auth models import AbstractUser继承原有表格字段

指定utf-8的编码

8.settings中注册新建的app,users,还需重载settings的方法,AUTH_USER_MODEL = 'users.UserProfile'

9.users models设计

10.course models设计

11.organization models设计

12.operation models设计

二、python学习情况

1.完成6道基本编程、4道简单编程、3道综合编程

2.摘录一道综合编程题

请编写程序,生成随机密码。具体要求如下:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

(1)使用 random 库,采用 0x1010 作为随机数种子。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

(2)密码 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&* 中的字符组成。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

(3)每个密码长度固定为 10 个字符。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

(4)程序运行每次产生 10 个密码,每个密码一行。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

(5)每次产生的 10 个密码首字符不能一样。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

(6)程序运行后产生的密码保存在“随机密码.txt”文件中。

代码如下:

import random
random.seed(0x1010)
s = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ12345678'
ls = []
excludes = ""
while len(ls) < 10:
    pwd = ""
    for i in range(10):
        pwd += s[random.randint(0, len(s)-1)]
    if pwd[0] in excludes:
        continue
    else:
        ls.append(pwd)
        excludes += pwd[0]
print('\n'.join(ls))

fi = open('随机密码.txt', 'w', encoding = 'utf-8')
fi.write('\n'.join(ls))
fi.close()

3.对一些不熟悉的基础指令整理

(1)turtle库中的circle(x,y)

x代表形成圆的半径,为正代表指针走顺时针,为负代表指针走逆时针

y代表指针行走度数,180即半圆,为负的话,指针运行之前会翻转180度然后进行倒行;为正指针直接沿fang方向前行

(2)turtle库中的setup(weight、height、startx、starty)

weight、height代表构建出的窗口的右上角x、y坐标

startx、starty代表画的起始点位置

(3)color(a,b)

a指线条颜色、b指填充颜色

color(a)

线条和填充颜色

(4)turtle中的seth

turtle.seth(angle)逆时针旋转angle度数

seth()改变海龟行进方向但不行进

angle为相较于起始状态的绝对度数

(5)random.uniform(a,b)生成指定范围内随机浮点数

random.randint(a,b)生成指定范围内随机整数

n大于等于a小于等于b

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值