python基础篇
注:适合萌新学习python而且里面的内容会持续的更新!javascript
关于for循环
例题:建立一个数据集,包含1到10的随机整数,共计100个数,并统计每一个数出现的次数。java
// 方法1 import random //引入random模块 lst = [] //定义一个空列表 d = dict() //定义一个空字典 for i in range(100): //循环100次 n = random.randint(1,10) //每循环一次随机拿到1——10之内的任意一个数 if n in d : d[n]+=1 //若是这个数做为键在字典里,值加1 else: d[n]=1 //不然值等于1 print(d)
//方法2 import random lst=[] for i in range(100): n=random.randint(1,10) lst.append(n) d={ } for n in lst: if n in d: d[n]+=1 else: d[n]=1
经常使用于for循环的函数python
- range()
- zip()
- enumerate( )
- 列表解析
例题:求100之内能被三整除的数git
lst=[] for i in range(100): if i % 3 == 0; lst.append(i) print(lst)
用列表解析法求100之内能被三整除的数app
>>>[i for i in range(100) if i % 3 == 0] 结果是:[0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96, 99] >>>range(0, 100, 3) >>>list(range(0, 100, 3))
用range方法实现两个列表的对应值相加dom
c=[1,2,3,4,5] d=[6,7,8,9,1] r=[] for i in range(len(c))://把列表中的每个元素所对应的索引拿出来了 r.append(c[i]+d[i])
用zip方法实现两个列表的对应值相加函数
c=[1,2,3,4,5] d=[6,7,8,9,1] r=[] for x,y in zip(c,d): r.append(x+y) print(r)
enumerate()方法:枚举 返回索引值学习
>>>s=['one','two','three'] >>>list(enumerate(s)) [(0, 'one'), (1, 'two'), (2, 'three')]//获得索引和值
例题 :字符串s=‘life is short You need python’。统计这个字符串中每一个字母出现的次数。spa
s='life is short You need python' lst = [] //定义一个空列表 d = dict() //定义一个空字典 for i in s: //循环获取s中的每一个字母 if i.isalpha(): //判断循环获得的是不是一个字符,是字符则执行后面的代码块 不然返回false if i in d : d[i]+=1 //'键'放在字典里而且'值'加1 else: d[i]=1 print(d)
关于while循环
格式: while[condition]:
statements
code
a=0 while a<3: s=input("input your lang:") if s=='python': print("your lang is {0}".format(s)) break //当代码执行到这里时,会跳出当前循环(此处跳出while 执行print("the end a:",a)) else: a+=1 print("a=",a) print("the end a:",a)
a=11 while a>0: a-=1; if a%2==0: continue print(a) else: print(a)
用while循环作一个小游戏:
制做一个知足以下功能的猜数游戏:
1.计算机随机生成一个100之内的正整数;
2.用户经过键盘输入数字,猜想计算机所生成的随机数。
注意:对用户的输入次数不作限制。
import random computer_name = random.randint(1,100) #表示从1——100之内随机取一个数 while True: #表示一直循环,直到遇到结束标志 user_name = input("请输入你要猜想的数字:") #得到的是字符串类型 if not user_name.isdigit(): print("请输入1——100之内的整数" ) elif int(user_name)<0 or int(user_name)>=100: print("请输入1——100之内的整数") else: if int(user_name)==computer_name: print("you are win") break elif int(user_name)<computer_name: print("you are smaller") else : print("you are bigger") #注:并不是是最优代码,但程序彻底正确!由于此时做者也处在学习阶段!