月份:2020年4月

训练大脑智能的方法(二):右脑训练
大脑右半球承担着创造性思维等重要的功能,由于右半球“习惯性”地缺乏重视,所以对大脑右半球的开发显得很不充分。人们要想提高智力水平,就要积极地发展大脑右半球,给大脑右半球以更多的训练和发挥的机会,这将使人脑智慧的整体水平迈上一个新台阶。
左脑负责理性分析,右脑负责扩展想象。想要取得某一方面的突出成就,就应该相应地开发自己的左脑和右脑。那么,怎样才能开发右脑,达到同时使用大脑两个半球呢?目前,有些国家提出了做单侧体操的方法,做左侧体操是开发大脑右半球功能的一种好办法。由于大脑右半球负责左侧身体的运动,因此,左侧体操会反过来促进大脑右半球的活动,有利于大脑右半球能力的提高。左侧体操包括以下一些基本动作和游戏训练。
- 第一、左上肢侧举运动。左脚向左侧跨一小步;左手侧平举,掌心向下,左手经左侧部向上举;左手还原。
- 第二、左上肢前举运动。左脚向左侧跨一小步;左手经左胸前举至水平;左上肢再经胸前上举,与身体平行;左上肢经胸前向下复原。
- 第三、左手指运动。伸出左手,做握拳运动;将握紧的拳头松开,重复进行;将拇指依次与其他各指的指端接触,进行对指训练。
- 第四、左腿侧举运动。立正,目光向前,双手叉腰;重心放在右脚,左脚向左侧外提起,脚伸直,直到与地面平行,复原。
- 第五、左脚前举运动。目光平视,双手叉腰;左脚向前踢,达到与地面平行,复原。
以上各节每次做10遍,每天早晚各做1次,每次约5分钟。
【Python】某度贴吧签到脚本[云函数专用版](白嫖实现每日自动签到)
本脚本为某度贴吧签到脚本(https://www.52pojie.cn/thread-1152714-1-1.html)的云函数版本
相较于本地版本,此脚本新添了延时功能以防签到过快,并将代码放置在main函数中以提供入口(不再显示执行错误)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# -*- coding: utf8 -*- from requests import Session from time import sleep def main(*args): # 数据 like_url = 'https://tieba.baidu.com/mo/q/newmoindex?' sign_url = 'http://tieba.baidu.com/sign/add' tbs = '4fb45fea4498360d1547435295' head = { 'Accept': 'text/html, */*; q=0.01', 'Accept-Encoding': 'gzip, deflate', 'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8', 'Connection': 'keep-alive', 'Cookie': '填入你的百度cookie(获取方法参考http://pandownload.com/faq/cookie.html,将网盘的TOKEN换成贴吧的TOKEN', 'Host': 'tieba.baidu.com', 'Referer': 'http://tieba.baidu.com/i/i/forum', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) ' 'Chrome/71.0.3578.98 Safari/537.36', 'X-Requested-With': 'XMLHttpRequest'} s = Session() # 获取关注的贴吧 bars = [] dic = s.get(like_url, headers=head).json()['data']['like_forum'] for bar_info in dic: bars.append(bar_info['forum_name']) # 签到 already_signed_code = 1101 success_code = 0 need_verify_code = 2150040 already_signed = 0 succees = 0 failed_bar = [] n = 0 while n < len(bars): sleep(0.5) bar = bars[n] data = { 'ie': 'utf-8', 'kw': bar, 'tbs': tbs } try: r = s.post(sign_url, data=data, headers=head) except Exception as e: print(f'未能签到{bar}, 由于{e}。') failed_bar.append(bar) continue dic = r.json() msg = dic['no'] if msg == already_signed_code: already_signed += 1; r = '已经签到过了!' elif msg == need_verify_code: n -= 1; r = '需要验证码,即将重试!' elif msg == success_code: r = f"签到成功!你是第{dic['data']['uinfo']['user_sign_rank']}个签到的吧友,共签到{dic['data']['uinfo']['total_sign_num']}天。" else: r = '未知错误!' + dic['error'] print(f"{bar}:{r}") succees += 1 n += 1 l = len(bars) failed = "\n失败列表:"+'\n'.join(failed_bar) if len(failed_bar) else '' print(f'''共{l}个吧,其中: {succees}个吧签到成功,{len(failed_bar)}个吧签到失败,{already_signed}个吧已经签到。{failed}''') |
如果不需要日志则把带“#日志记录”的行删除即可
有了脚本就要挂到白嫖云服务器上来实现自动签到
Step1. 注册账号,过程略。网址:https://console.cloud.tencent.com/
Step2. 进入云函数控制台的函数服务:https://console.cloud.tencent.com/scf/index?rid=1
Step3. 单击“新建”
Step4.
Step5.
Step6.
Step7. 测试一下函数运行情况。如若成功则应该能看到“测试成功”,输出与图示相似;失败则检查cookie是否过期、填写错误以及网络状况。
Step8. 自动执行
注意下面Cron表达式中的空格(或者复制:0 0 1 * * * *)
Step9. 洗洗睡,明天早上起来后会发现已经签到了
Step10. 如若关注贴吧个数过多,请自行修改超时时间(大约为0.7s*关注个数)
【Python】(练习)双元选择排序
这个是简单选择排序的升级版,在做简单选择排序的时候我没有考虑到数值相同的问题,所以用了数值作比较并且交换,如果出现相同数值会有排序出错的情况,然后这个版本我更新了一下,是直接找出最大和最小值,并且增加了特殊情况判定进行排序,大大降低了交换的次数,提升了运行.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
""" 二元选择排序 """ import random lst = [random.randint(0,10) for x in range(10)] count_iter = 0 count_swap = 0 for i in range(len(lst)//2): mark = i # 记录无序区第一个值 mark1 = -i - 1 # 记录无序区域最后一个值 mark2 = mark1 for j in range(i+1, len(lst) - i): # 每轮两边都要-1 count_iter += 1 if lst[mark] < lst[j]: # 最大值判断并且交换 mark = j if lst[mark1] > lst[-j-1]: # 最小值判断,并且交换 mark1 = -j-1 if lst[mark] == lst[mark1]: # 最大值和最小值相等 break if mark != i: # 判断最大索引与无序区第一索引是否一致 count_swap += 1 lst[i], lst[mark] = lst[mark], lst[i] if i == mark1 or i == len(lst) + mark1: # 如果最小值被交换过,需要更换索引. mark1 = mark if mark1 != mark2 and lst[mark1] != lst[mark2]: # 判断最小索引与无序区最后索引是否一致 count_swap += 1 lst[mark2], lst[mark1] = lst[mark1], lst[mark2] print(lst, count_iter, count_swap) |
【Python】(练习)简单选择排序
练习题,做个记录而已
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
""" 简单选择排序(插入) """ lst = [1, 5, 4, 3, 2, 8, 9, 6, 7] mark = [] # 记录最新的最大值 for i in range(len(lst)): mark = lst[i] # 先记录无序区域的第一个数值作为参考值 for j in range(i+1, len(lst)): if mark < lst[j]: # 目前做记录的最大值跟后面作比较 mark = lst[j] # 如果后面比较大则更换最大值记录 continue inx = lst.index(mark) lst.insert(i,mark) lst.pop(inx+1) print(lst) """ 简单选择排序(交换) """ lst = [1, 5, 4, 3, 2, 8, 9, 6, 7] mark = [] # 记录最新的最大值 for i in range(len(lst)): mark = lst[i] # 先记录无序区域第一个数值作为参考值 mark1 = lst[i] # 记录无序区域第一个数值,后续用于交换 for j in range(i+1, len(lst)): if mark < lst[j]: # 目前做记录的最大值跟后面作比较 mark = lst[j] # 如果后面比较大则更换最大值记录 continue inx = lst.index(mark) # 求出目前所记录的最大值的定位 lst[i] = mark lst[inx] = mark1 print(lst) |
【Python】(练习)随机获取数字并且统计分类单独或重复出现的数值
Python初学者, 刚好有一个习题可以练手.就做了一下. 大概就是获取随机数,统计重复和不重复的数值.我目前所学到的我都用上了, 不知道还有没有一些可以优化的地方
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
import random import datetime lst = [] s = int(input("Starting from <<<")) # 随机数开始 e = int(input("To the end of the <<<")) # 随机数结束 c = int(input("How many numbers do you want <<<")) # 获取个数 start = datetime.datetime.now() # 获取开始时间 single = [] repeat = [] mart = [] # 先获取随机数 for i in range(c): lst.append(random.randint(s, e)) #统计随机数并分别创建列表 for x in lst: if x in mart: #加判定,如果已经count过的数值,不再继续重复计数 (为了减少count的次数,减少运行时间) continue else: mart.append(x) tol = lst.count(x) if tol == 1: single.append(x) else: repeat.append(x) print("The random values are {}".format(lst)) # 随机获取到的数值 print("The single values are {}".format(single)) # 单次出现的数值 print("The repeat values are {}".format(repeat)) # 多次出现的数值 print((datetime.datetime.now() - start).total_seconds()) # 运行时间 |
WordPress网站全站变灰教程
明天也就是2020年4月4日,国务院决定在这一天为表达全国各族人民对抗击新冠肺炎疫情斗争牺牲烈士和逝世同胞的深切哀悼,举行全国性哀悼活动,这里给大家分享一行代码实现WordPress网站变成灰色,非常简单的教程。
将下面代码加入在后台外观,自定义里面的额外css里即可
1 2 3 4 |
html { filter: progid:DXImageTransform.Microsoft.BasicImage(grayscale=1); -webkit-filter: grayscale(100%); } |
训练大脑智能的方法(一):难题训练
通过解难题培养自己思维的活跃性,盖福德教授经过长时间的实践和研究,证明这是非常有效的方法。在解难题的过程中,常常会遇到很多必须打破常规的部分,一旦我们不幸落入某个难题的“圈套”或“陷阱”里,就会为了不犯第二次错误而千百万计地冥思苦想,思索的激流时而向上,时而向下,有时不得不从立体的角度去看平面的东西,不得不扩大到无限的世界去思考有限的东西。在思考很多难题时,往往需要同时进行集中式思考和扩散式思考。要从为数极少的条件出发,不断地向四面八方扩散,以达到寻找无限的可能性,这是一种扩散式的思考方式;从无限中求得唯一正确的解题思考方式,这又是高度集中的思考方式。
在这种扩散思考和集中思考周而复始的循环中,大脑便会自然而然地变得活跃起来。
Python —— 初学者版剪刀石头布
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# 剪刀石头布 import random a = ["Stone", "Scissors", "Paper"] ac = "" win = "You won" tie = "Tie" false = "Defeated" count = 0 win_count = 0 while True: ac = input("<<<") b = random.choice(a) print("{}".format(b)) count += 1 #判定输入是否有误 if ac != "Stone" and ac != "Scissors" and ac != "Paper" and ac !="exit": print("{}".format("""Please enter"Stone", "Scissors" or "Paper". """)) count -=1 continue #退出 if ac == "exit": print("""You've played {} time(s),odd is{:02}%""".format(count, average)) break if ac == "Scissors": if ac == b: print("{}".format(tie)) elif b == "Stone": print("{}".format(false)) else: print("{}".format(win)) win_count += 1 if ac == "Stone": if ac == b: print("{}".format(tie)) elif b == "Paper": print("{}".format(false)) else: print("{}".format(win)) win_count += 1 if ac == "Paper": if ac == b: print("{}".format(tie)) elif b == "Scissors": print("{}".format(false)) else: print("{}".format(win)) win_count += 1 #胜率计算 average = (win_count / count) * 100 print("""You've played {} time(s),odd is{:02}%""".format(count, average)) |
Python 中的 [:-1] 和 [::-1]
Python 中的 [:-1] 和 [::-1]
1、案例解释
1 2 3 4 5 6 7 8 9 10 |
a='python' b=a[::-1] print(b) #nohtyp c=a[::-2] print(c) #nhy #从后往前数的话,最后一个位置为-1 d=a[:-1] #从位置0到位置-1之前的数 print(d) #pytho e=a[:-2] #从位置0到位置-2之前的数 print(e) #pyth |
2、用法说明
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
b = a[i:j] # 表示复制a[i]到a[j-1],以生成新的list对象 a = [0,1,2,3,4,5,6,7,8,9] b = a[1:3] # [1,2] # 当i缺省时,默认为0,即 a[:3]相当于 a[0:3] # 当j缺省时,默认为len(alist), 即a[1:]相当于a[1:10] # 当i,j都缺省时,a[:]就相当于完整复制一份a b = a[i:j:s] # 表示:i,j与上面的一样,但s表示步进,缺省为1. # 所以a[i:j:1]相当于a[i:j] # 当s<0时,i缺省时,默认为-1. j缺省时,默认为-len(a)-1 # 所以a[::-1]相当于 a[-1:-len(a)-1:-1],也就是从最后一个元素到第一个元素复制一遍,即倒序。 |