2020.05.28--预习课--第3节--基本语法、随机循环、字符串
一、软技能
1、看懂还是不会写呀,怎么办?
写的少,多写。
1.1、看懂别人的代码,整理出代码的算法思路,用中文或者伪代码写出来。
1.2、依据算法的描述步骤或者伪代码,把代码推导出来。(语法不熟的情况,整理好笔记,方便 自己查询)
1.3、当天先推导一次,明天再来一次,一周后再来一次,一个月后再来一次。(如果这几次都可以 写出来,这道题就算溶于你的骨血了。如果不行,在重复以上过程)
慢慢的具备解题的思路,编程的思路
先模仿在原创。
学习的理论:
学习一门新的东西,冷启动阶段:学了很久,都没有一个正反馈(成就感)
有的人没坚持住,就放弃了。有的过了这段,慢慢走向人生巅峰了
二、
1、小练习:if elif else
输入内容,做判断,大于0,等于0,小于0
读入一个数字
>>> n= input("请输入一个数字:") 请输入一个数字:-1 >>> n=int(n) >>> n -1 >>> if n>0: ... print("输入的是个正数!") ... elif n==0: ... print("输入的数字是个0!") ... else: ... print("输入的数字是个负数") ... 输入的数字是个负数
2、range(n,m,t) n,起始;m,结束;t,步长
2.1、正着取
>>> range(10) range(0, 10) >>> list(range(10)) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> list(range(5,10)) [5, 6, 7, 8, 9] >>> list(range(1,10,2)) [1, 3, 5, 7, 9] >>> range(-5,10) range(-5, 10) >>> list(range(-5,10,3)) [-5, -2, 1, 4, 7] >>>
2.2、倒着取,递减,步长为负,所以起始 n > m 结束
>>> list(range(10)) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> list(range(10,1,-1)) [10, 9, 8, 7, 6, 5, 4, 3, 2] >>>
2.3、取不到,
>>> list(range(10)) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> list(range(1,10,-1)) [] >>>
2.4、循环中使用range
>>> for i in range(5): ... print (i) ... 0 1 2 3 4 >>>
3、while循环
3.1、死循环--什么时候需要用到死循环?---- 不能让服务器停止的时候
3.1.1、小练习:
题目:用while循环,读入数据,当输入exit,结束循环
输入其他数据,直接打印
while循环在不知道需要执行几次的时候,来使用
>>> while True: ... msg = input("请输入>>:") ... if msg == 'exit': ... break ... else: ... print(msg) ... 请输入>>:1 1 请输入>>:?><:"{] ?><:"{] 请输入>>:exit >>>
3.1.2、小练习
题目:
输入的内容如果是纯数字,就把这个值做一个累加。到exit的时候退出。
>>> sum = 0 >>> while True: ... number = input("请输入>>:") ... if number.isdigit(): ... sum += int(number) ... if number == 'exit': ... print(sum) ... break ... 请输入>>:1 请输入>>:3 请输入>>:4 请输入>>:6 请输入>>:d 请输入>>:s 请输入>>:ge 请输入>>:56 请输入>>:56.44 请输入>>:4.22 请输入>>:exit 70 >>>
sum = 0 while True: number = input("请输入>>:") if number == 'exit': print(sum) break for i in number: if i not in '0123456789': break else: sum += int(number) "sum".isnumeric()
sum = 0 while True: number = input("请输入>>:") if number.isnumeric(): sum += int(number) if number == 'exit': print(sum) break
3.2、混合循环
>>> for i in range(5): ... j = i ... while j>0: ... print(j) ... j-=1
3.3、continue
for i in range(10): if i==4 or i ==5 or i ==6: continue #结束当前这次循环,continue后面的语句将不执行 print(i)
3.4、break
4、随机生成:random
>>> import random >>> random.random() #小数 0.9133401080989699 >>> random.randint(1,10) #指定范围的整数 2 >>> random.choice([2,4,6,8,10]) #指定范围的随机 10 >>> a [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> random.shuffle(a) #打乱 >>> a [4, 8, 5, 6, 3, 9, 0, 2, 7, 1] >>> random.uniform(10,20) #指定范围的小数 14.482478230408157
4.1、练习
4.1.1、生成随机的9位纯小写字母的密码
import random password = '' for i in range(9): password += chr(random.randint(97, 122)) print(password)
import random import string password = '' s_lower = string.ascii_lowercase for i in range(9): password += random.choice(s_lower) print(password)
4.1.2、生成随机的大小写混合的密码
import random s = list(range(65, 91)) + list(range(97, 123)) print(s) password = '' for i in range(9): password += chr(random.choice(s)) print(password)
import random import string s = string.ascii_letters password = '' for i in range(9): password += random.choice(s) print(password)
import random password = '' for i in range(4): password += chr(random.randint(65, 90)) for i in range(5): password += chr(random.randint(97, 122)) password = list(password) print(password) random.shuffle(password) print(password) result = ''.join(password) print(result)
5、dir--查看某个对象里面有什么方法
6、help--查看某一个方法具体的使用信息