创建一个密码生成器，基于用户提供的长度和包含哪些字符（字母、数字等）生成随机密码。
- 长度：12
- 包含：大写字母、小写字母、数字、符号
以下是Python代码来生成随机密码，该密码包含大写字母、小写字母、数字和符号：

```python
import random
import string

length = 12

lower = string.ascii_lowercase
upper = string.ascii_uppercase
num = string.digits
symbols = string.punctuation

all_chars = lower + upper + num + symbols

password = "".join(random.sample(all_chars, length))

print(password)
```

用户可以更改 `length` 变量来指定密码的长度。他们还可以选择删除 `symbols` 变量，以生成不含符号的密码。