• 我们很容易看清自己的错误,但也不容易看出自己做对的时候

    ----?


  • 为什么假花没有真花美?

    –因为真花会谢

    ----RepentStar


  • Youniverse

    ----Bili:依思禾


  • 世界上绝大部分事物是不能回滚的,也许记忆也是。

    ----RepentStar


  • 人类是孤独的,存在在这个世界上的人类已经不是原来的人类了

    ----RepentStar


  • 你对我百般注释,并不能构成万分之一的我,却是一览无余的你。

    ----三毛

前言

注意点:

  • 推荐使用终端程序:Windows Terminal(用其他的也行,设置正确即可,我习惯使用WindTerm)
  • 推荐使用字体:MesloLGMDZ Nerd Font Mono,能更好的显示所有符号
  • 官方教程文档
  • 我默认你使用的是Windows平台(这玩意儿除了用Windows的人用,应该没人用吧)

开始

上文已经给出官方教程文档,根据其步骤能顺利完成安装,不过多赘述。如果你连英文都看不懂,洗洗睡吧
这里只列出我遇到的一些问题及其解决方案:

没有winget,且不喜欢微软商店

问题

首先,我不建议通过scoop安装,我的电脑能使用scoop安装,但安装完是用不了的,所以我想通过winget获取
当我打开winget的github想用其msixbundle安装时:此应用包不支持通过应用安装程序安装,因为它使用了某些受限制的功能。
但……
不知好歹的微软商店

解决办法

  1. 按照网上常见的解决微软商店转圈圈的方法走一遍,然后重启,最后关闭代理,就好了。
  2. 如果你使用v2***N,打开接触UWP应用回环,勾选Store,就好了
    Read more »

由于个人技术能力有限,本文章有猜测成分,并不能证明for loop的实质确确实实就是这样。
由于我Google了一下没有人对此问题写过文章,发过提问或者解过答(可能有国外文章有解释,因为我只搜索了中文页面,只稍稍浏览了一下我能看懂的英文页面),故写此文
如需寻起根本,请查看CPython源代码
(为什么我不去看源码?因为我看不懂)

起因

在做题时有一道题,具体的已经忘记了,那里面有个让我很迷惑的for loop,让我以为是题目出错了,结果并不是。

1
2
3
4
5
6
7
s1 = 'v?a?s1?2df34g?h43j?4kl'
s = ''
for i in s1:
if i != '?':
s += i
s1 = s
# print(s1)

我觉得有问题的代码如上
按照我的理解,如果s1的第一个字符不是'?',那么s += i;s1 = s将会被执行,s将变成i,s1将变成s,按照上面给的数据,s1将变成单个字符v,然后循环结束,但事实不是这个样子的

Read more »

写这篇文章的起因是作业本上的题目
要求输入一个大于一的整数,输出形如100= 2*2*5*5的程序

原题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
def f(x):
k = 2
flag = 0 #flag表示第一个质因数标记,不需要输出'*'
while x != 1:
if x % k == 0:
if flag == 0:
print(k, end=' ')
___1.___
else:
print('*', k, end=' ')
___2.___
else:
___3.___

n = int(input(':'))
print(n, '= ', end="")
f(n)

原题大概长这样 ,做了一些修改

Read more »

原来这段文章被安排在了Python小技巧-杂,但是篇幅有亿点长,所以分出来


f-string的妙用与strobj.format()方法

format方法是f-string的加强版,但是它们的功能并不是完全一样的,有些时候f-string更好用,有些时候format方法更好用

写完了这段感觉两者功能又完全一样了

关于format方法的基础知识可以去这里
下面例举一些f-string的奇妙之处

1. 引用变量

1
2
3
4
a=114514
b=1919810
print(f'{a}---{b}')
print(f'{b}---{a}')

1
2
114514---1919810
1919810---114514
Read more »

会持续更新

在更新变量前必须进行初始化

下面是统计一串字符串中各个字符出现次数的代码

1
2
3
4
5
6
7
8
9
n='aabbbcdeeee'
dic=dict()
for i in n:
if i not in dic: # _ in dictobj只会遍历其key
dic[i]=0
else:
dic[i]+=1
print(dic)

重点在dic[i]=0dic[i]+=1
错误的写法:

1
2
for i in n:
dic[i]+=1

dic[i]=0为初始化过程,没了这一步就会报错

Read more »

Hello World!!!

你好,世界

Java

1
2
3
4
5
public class HelloWorld{ 
  public static void main(String args[]){
    System.out.println("Hello World");
  }
}

C++

1
2
3
4
5
6
#include <iostream>
int main()
{
std::cout<<"Hello World";
return 0;
}

Go

1
2
3
4
5
6
7
package main

import "fmt"

func main() {
fmt.Println("Hello World")
}

Python

1
print('Hello World')