This commit is contained in:
chenyongzhiaaron 2023-05-09 18:12:21 +08:00
parent b06dbec9c9
commit 394f1e419b
52 changed files with 256 additions and 12 deletions

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="dataSourceStorageLocal" created-in="PY-222.3739.56">
<component name="dataSourceStorageLocal" created-in="PY-231.8770.66">
<data-source name="MySQL - @10.8.203.25" uuid="dd327101-360a-4ce3-a39e-0a30a298d5cf">
<database-info product="MySQL" version="8.0.22" jdbc-version="4.2" driver-name="MySQL Connector/J" driver-version="mysql-connector-java-8.0.21 (Revision: 33f65445a1bcc544eb0120491926484da168f199)" dbms="MYSQL" exact-version="8.0.22" exact-driver-version="8.0">
<extra-name-characters>#@</extra-name-characters>

Binary file not shown.

Binary file not shown.

View File

@ -1,4 +1,25 @@
a,b=0,1
while b<10:
print(b,end=',')
a,b=b,a+b
import requests
import json
url = "https://mp-prod.smartmidea.net/mas/v5/app/proxy?alias=/v1/user/login/id/get"
payload = json.dumps({
"loginAccount": "17328565609",
"reqId": "ga1a838aad7c85992b71bg3f717975d9",
"stamp": "1683621785168"
})
headers = {
'User-Agent': 'Apifox/1.0.0 (https://www.apifox.cn)',
'Content-Type': 'application/json',
'sign': 'fc57d8c8c9cff3f07adaf9eaf78ed6b1',
'random': '0.9236182574629128',
'Accept': '*/*',
'Cache-Control': 'no-cache',
'Host': 'mp-prod.smartmidea.net',
'Connection': 'keep-alive',
'Cookie': 'acw_tc=2f61f26116836217722087218e2d7e5b0a8b4d17b5c5b4d67e77a990421536'
}
proxy = {'http': '10.8.68.32:8888', 'https': '10.8.68.32:8888'}
response = requests.request("POST", url, headers=headers, data=payload, proxies=proxy)
print(response.text)

View File

@ -292,6 +292,197 @@ In [70]: my_str.join(words)
Out[70]: 'welcome_to_my_web'
```
### 17. isdecimal
判断字符串是否为十进制数?得到一个布尔值
```python
v1 = "1238871"
result = v1.isdecimal()
print(result) # True
```
```
# 案例
v1 = input("请输入值:")
v2 = input("请输入值:")
if v1.isdecimal() and v2.isdecimal():
data = int(v1) + int(v2)
print(data)
else:
print("请正确输入数字")
```
### 18. strip
去除字符串两边的 空格、换行符、制表符,得到一个新字符串
```
msg = " H e ll o啊树哥 "
data = msg.strip()
print(data) # 将msg两边的空白去掉得到"H e ll o啊树哥"
```
```python
# 案例
code = input("请输入4位验证码")
data = code.strip()
if data == "FB87":
print('验证码正确')
else:
print("验证码错误")
```
### 19. format
格式化字符串,得到新的字符串
```python
name = "{0}的喜欢干很多行业,例如有:{1}、{2} 等"
data = name.format("老王", "护士", "嫩模")
print(data) # 老王的喜欢干很多行业,例如有:护士、嫩模 等
```
```python
name = "{}的喜欢干很多行业,例如有:{}、{} 等"
data = name.format("老王","护士","嫩模")
print(data) # 老王的喜欢干很多行业,例如有:护士、嫩模 等
```
```python
name = "{name}的喜欢干很多行业,例如有:{h1}、{h2} 等"
data = name.format(name="老王",h1="护士",h2="嫩模")
print(data) # 老王的喜欢干很多行业,例如有:护士、嫩模 等
```
## 3.3 转换为字符串
以后的python开发中经常的用是数字 转 为字符串类型。
```python
number = 888
data = str(number)
print(data)
```
### 3.4 其他
字符串除了有上述那些字符串独有的功能以外,还有一个其他“公共的功能”,某些其他的类型也具有的功能。
1. 获取字符串长度
```python
name = "武沛齐"
name_length = len(name)
print(name_length) # 输出3
```
```python
nickname = "wupeiqi"
length = len(nickname)
print(length) # 输出7
```
2. 索引,获取字符串中某个字符的值。
```python
name = "来做点py交易"
print( name[0] ) # 输出 来
print( name[1] ) # 输出 做
print( name[6] ) # 输出 易 默认索引是从0向后逐步向后增加索引超出最大范围会报错
print( name[-1] ) # 输出 易 (如果索引为负值,则表示从后向前,-1表示最后一个
print( name[-3] ) # 输出 y
print( name[len(name)-1]) # 输出 易
```
```python
# 案例:循环字符串的所有字符
content = "长江以北晓峰最美山海关以外晓峰最帅"
index = 0
while index < len(content):
char = content[index]
print(char)
index += 1
```
```python
# 案例:循环字符串的所有字符
content = "你瞅啥"
index = -1
while index >= - len(content):
char = content[index]
print(char)
index -= 1
```
**练习题**:获取用户输入的字符判断他的数字的字符串中有一个数字(只考虑个位数)?例如 `你有点2还特么有点666`这段字符串中有4个数字。
3. 切片获取字符串中n连续的字符的值。
```python
name = "你是风儿我是沙。不,我不是沙而是你爸"
print( name[0:2] ) # 输出:你是 (根据索引 `前`按开区间 `后`按闭区间,即:前取后不取)
print( name[2:5] ) # 输出:风儿我
print( name[2:]) # 输出:风儿我是沙。不,我不是沙而是你爸(后面不写表示到最后)
print( name[:6]) # 输出:你是风儿我是(前面不是表示从头开始)
print( name[2:-1]) # 输出:风儿我是沙。不,我不是沙而是你
print( name[2:-2]) # 输出:风儿我是沙。不,我不是沙而是
print( name[0:len(name)]) # 输出:你是风儿我是沙。不,我不是沙而是你爸
```
4. 步长,相当于我们生活中的跳步选择数据。
```python
name = "生活不是电影,生活比电影苦"
print( name[ 0:5:2 ] ) # 输出:生不电 【前两个值表示区间范围,最有一个值表示步长】
print( name[ :8:2 ] ) # 输出:生不电,活 【区间范围的前面不写则表示起始范围为0开始】
print( name[ 2::3 ] ) # 输出:不影活影 【区间范围的后面不写则表示结束范围为最后】
print( name[ ::2 ] ) # 输出:生不电,活电苦 【区间范围不写表示整个字符串】
print( name[ 8:1:-1 ] ) # 输出:活生,影电是不 【倒序】
print( name[ ::-1 ] ) # 输出:苦影电比活生,影电是不活生 【倒序】
```
5. for循环
想要循环显示字符串的每个字符,通过之前的 while循环 + 索引 可以实现现在通过for循环则可以更方便的实现。
```python
content = "三分天注定,七分靠滤镜"
for item in content:
print(item)
```
```python
# 案例:判断用输入的值中有多少个字符 `a`(不区分大小写A、a)
total_count = 0
content = input("请输入内容:")
for char in content:
if char.upper() == 'A':
total_count += 1
message = "您输入的内容中A/a共有{}个".format(total_count)
```
```python
# 案例break和continue也可以应用在for循环中
data = "像我这样优秀的人,本该灿烂过一生"
for item in data:
print(item)
if item == "人":
break
```
## 作业题
1. 有变量name = "aleX leNb " 完成如下操作:
- 移除 name 变量对应的值两边的空格,并输出处理结果
- 判断 name 变量是否以 "al" 开头,并输出结果(用切片)
- 判断name变量是否以"Nb"结尾,并输出结果(用切片)
- 将 name 变量对应的值中的 所有的"l" 替换为 "p",并输出结果
- 将name变量对应的值中的第一个"l"替换成"p",并输出结果
- 将 name 变量对应的值根据 所有的"l" 分割,并输出结果
- 将name变量对应的值根据第一个"l"分割,并输出结果
- 将 name 变量对应的值变大写,并输出结果
- 将 name 变量对应的值变小写,并输出结果
- 请输出 name 变量对应的值的第 2 个字符?
- 请输出 name 变量对应的值的前 3 个字符?
- 请输出 name 变量对应的值的后 2 个字符?
2. 有字符串s = "123a4b5c"
- 通过对s切片形成新的字符串 "123"
- 通过对s切片形成新的字符串 "a4b"
- 通过对s切片形成字符串s5,s5 = "c"
- 通过对s切片形成字符串s6,s6 = "ba2"
3. 使用while和for循环字符串 s="asdfer" 中每个元素。
4. 使用while和for循环对s="321"进行循环,打印的内容依次是:"倒计时3秒""倒计时2秒""倒计时1秒""出发!"。
5. 使用while和for循环分别对字符串 message = "伤情最是晚凉天,憔悴厮人不堪言。" 进行打印。
6. 获取用户输入的内容,并计算前四位"l"出现几次,并输出结果。
7. 获取用户两次输入的内容,并将所有的数据获取并进行相加,如:
```python
"""
要求:
将num1中的的所有数字找到并拼接起来1232312
将num1中的的所有数字找到并拼接起来1218323
然后将两个数字进行相加。
"""
num1 = input("请输入:") # asdfd123sf2312
num2 = input("请输入:") # a12dfd183sf23
# 请补充代码
```
## 二、说明
@ -300,4 +491,35 @@ Out[70]: 'welcome_to_my_web'
1. 不要背,理解即可
2. 忘记没关系,可以查阅资料
3. 学会怎么用,什么时候用什么这是关键点
3. 学会怎么用,什么时候用什么这是关键点
**练习题**
```
1. 写代码实现判断用户输入的值否以 "al"开头,如果是则输出 "是的" 否则 输出 "不是的"
2. 写代码实现判断用户输入的值否以"Nb"结尾,如果是则输出 "是的" 否则 输出 "不是的"
3. 将 name 变量对应的值中的 所有的"l"替换为 "p",并输出结果
4. 写代码实现对用户输入的值判断是否为十进制小数isdecimal如果是则转换为整型并输入否则直接输出"请输入数字"
5. 对用户输入的数据使用"+"切割,判断输入的值是否都是数字?
提示:用户输入的格式必须是以+连接,如 5+9 、alex+999
6. 写代码实现一个整数加法计算器(两个数相加)
需求提示用户输入5+9或5+9或5+9计算出两个值的和提示先分割再转换为整型再相加
7. 写代码实现一个整数加法计算器(两个数相加)
需求提示用户输入5 +9或5+ 9或5 + 9计算出两个值的和提示先分割再去除空白、再转换为整型再相加
8. 补充代码实现用户认证。
需求:提示用户输入手机号、验证码,全都验证通过之后才算登录成功(验证码大小写不敏感)
import random
code = random.randrange(1000,9999) # 生成动态验证码
msg = "欢迎登录PythonAV系统您的验证码为{},手机号为:{}".format(code,"15131266666")
print(msg)
# 请补充代码
9. 补充代码实现数据拼接
data_list = []
while True:
hobby = input("请输入你的爱好Q/q退出")
if hobby.upper() == 'Q':
break
data_list.append(hobby) # 把输入的值添加到 data_list 中data_list = ["小姨子","哥们的女朋友"]
# 将所有的爱好通过符号 "、"拼接起来并输出
```

View File

@ -152,9 +152,10 @@ def main(folder_path, url):
if __name__ == "__main__":
import os
from common.files_tools.read_file import read_file
js = read_file('index.json')
for folder, url in js.items():
if not os.path.exists(folder):
os.mkdir(folder)
main(folder, url)
#
# js = read_file('index.json')
# for folder, url in js.items():
# if not os.path.exists(folder):
# os.mkdir(folder)
# main(folder, url)
get_url_list()

Binary file not shown.

Binary file not shown.