学习agent日记day1:python从入门到如厕
不知道为什么,我特别讨厌py这个语言,感觉怎么用怎么写怎么难受
可能有人说它语法简洁好上手,但是在我看来就是依托答辩,不过这个因人而异,有人可能会被他简洁所吸引,但我不太喜欢
有人可能会觉得
name="玖玖"这样直接定义很爽 但是我觉得有点不太好,不过也能接受,因为js也是这样的,都是解释型语言
const name="玖玖"我是从学了c/c++ js java过来的,所以这个看起来也能接收
但是我最最最最不能接收觉得傻福的就是用缩进来写代码块,这个我真的不能理解为什么要这样,我觉得这样来写代码和吃屎了一样难受
if __name__=="__main__": target=input() pattern=input() pLength=len(pattern) tLength = len(target) count=0 flag=True pos=-1 i=0 while i <=tLength-pLength: if pattern==target[i:i + pLength]: count=count+1 if flag: pos=i flag=False i += pLength else: i+=1 print(count) print(pos) target = input() patten = input() print(target.count(patten)) #输出patten在target中出现的次数,为非负数 print(target.find(patten)) #输出patten在target中第一次出现的位置,没有则输出-1。(位置从下标0开始) arr=[ [13,-1,4], [5,0,6], [1,9,-3] ] for i, row in enumerate(arr): for j, val in enumerate(row): # print(f"行{i},列{j} = {val}") num=int(input()) for i in range(1,num+1): for j in range(1,i+1): print(f"{i}*{j}={i*j}",end=' ') print( ) from math import sqrt num = float(input()) # 先转整数,质数只讨论正整数 n = int(num) is_prime = True # 小于2直接不是质数 if n < 2: is_prime = False else: # 循环到根号n,i从2开始 max_i = int(sqrt(n)) for i in range(2, max_i + 1): if n % i == 0: is_prime = False break # 找到因数直接退出循环 if is_prime: print("Yes") else: print("No") n=int(input()) m=int(input()) people = list(range(1, n + 1)) ## 记录当前位置 ids=0 # 记录第几个淘汰 cnt=0 while people: ids=(ids+2)%len(people) out=people.pop(ids) cnt+=1 if m==out: print(cnt) break d={ 'A':4, 'B':3, 'C':2, 'D':1, 'F':0 } s=input() # 用来存储加权之后的总分数的 num1=0 # 用来除以总分的 num2=0 while s!='false': m=int(input()) num1+=d[s]*m num2+=m print("%.2f"%(num1 / num2))而且我在idea里面的很多快捷键在pycharm里面也没有 好难受 比如.var+tab 来生成变量
还有就是这里ctrl+p看不了方法的参数 哎 还有这么__xxx__这么来命名是有什么历史渊源吗
我是觉得很抽象
哎,也没办法,要学agent还是得把py写熟了 但是写的真的很麻烦 而且还不直观
不过说了这么多,话说来py还是很好上手的,毕竟没有类型约束,上手就可以直接写,也不需要定义变量类型,但是哈,它编译的时候还是要遵循类型的,比如不能数字和字符串来相乘,这样肯定是会报错的
其它的话 差不多四五个小时就能看完大概,比如列表就是java里面的List集合,字典就是Map还有一起语言比较共同的基本逻辑运算和判断
然后基础内容就这么多
感觉不适应的主要就是判断不打(),逻辑片段后面要 : 然后就是缩进和一些不熟悉的api
不过后面努力吧 打破舒适圈,都是戒断反应
