这是一些从我的github repo 拿回来的很早的笔记
- python 的脚本式运行
%run d:/1.py
这是脚本式运行Python!
练习题
1、 求从1到100的数字中所有能既能被3整除,又能被5整除的数字有哪些。
LsNum = [] for i in range(1,101): if i%3 == 0 and i%5 == 0 : LsNum.append(i) print(LsNum)
[15, 30, 45, 60, 75, 90]
2、 输入一个字符串返回满足以下条件的字符串
- 如果字符串长度大等于3,添加 ‘ing’ 到字符串的末尾
- 如果字符串是以 ‘ing’ 结尾的,就在末尾添加 ‘ly’
- 如果字符串长度小于3,返回原字符串
StrInput = input("请输入字符串:") StrLength = len(StrInput) if StrLength < 3: NewStr = StrInput if StrLength >= 3 : if StrInput.endswith("ing"): NewStr = StrInput + "ly" else: NewStr = StrInput + "ing" print(NewStr)
请输入字符串:aaing aaingly
3、 判断是否为回文
- 提示:回文:62426是回文数字
NumInput = input("请输入数字:") OpNumInput = NumInput[::-1] if OpNumInput == NumInput: print(NumInput,"是回文数字") else: print(NumInput,"不是回文数字")
请输入数字:12321 12321 是回文数字
4、 输入一个字符串,返回满足以下条件字符串
- 找到字符串中的子串 ‘not’ 和 'bad’
- 如果 ‘bad’ 出现在 ‘not’ 后面,就把 ‘not’ … ‘bad’ 之间包含的所有字符串替换成 ‘good’
StrInput = input("请输入字符串:") Not = StrInput.find("not") Bad = StrInput.find("bad") if Not != -1 and Bad != -1 : if Not < Bad: StrInput = StrInput[:Not+3] + "good" +StrInput[Bad:] print(StrInput)
请输入字符串:asdafasnotasdfsagbad asdafasnotgoodbad
5、 输入一个字符串,把字符串拆分成两个等分
- 如果字符串长度是偶数,前一半和后一半的长度是相同的
- 如果字符串长度是奇数,则多出的一个字符加到前一半,如:‘abcde’,前一半是’abc’,后一半是’de’
StrInput = input("请输入字符串:") StrLength = len(StrInput) if StrLength % 2 == 0: StrMid = int(StrLength/2) StrA = StrInput[:StrMid] StrB = StrInput[StrMid:] else: #5 StrMid = int((StrLength-1)/2) + 1 StrA = StrInput[:StrMid] StrB = StrInput[StrMid:] print(StrA,StrB)
请输入字符串:abcde abc de
6、 输入一个字符串返回满足以下条件的字符串
- 找出与字符串的第一个字母相同的字母,把它们替换成 ‘*’,除了第一个字母本身以外
- 例如: 输入’babble’, 返回 ‘ba**le’
StrInput = input("请输入字符串:") StrInput = StrInput[0] + StrInput[1:].replace(StrInput[0],"*") print(StrInput)
请输入字符串:asdffaaas asdff***s
7、 输入一个字符串 返回满足以下条件的字符串
- 由字符串的最前面两个字母和最后两个字母组成的字符串。
- 例如: ‘spring’ 返回 ‘spng’, ‘is’ 返回 'is’
- 当输入的字符串长度小于2时,返回空字符串
StrInput = input("请输入字符串:") StrLength = len(StrInput) if StrLength < 2: StrReturn = '' elif 2 <= StrLength <= 4 : StrReturn = StrInput else: StrReturn = StrInput[:2] + StrInput[-2:] print(StrReturn)
请输入字符串:spring spng
8、 输入字符串 a 和 b,返回添加以下条件的字符串
- 交换两个字符串的最前面的两个字母
- 使用空格把两个字符串分隔后合并成一个字符串
- 字符串 a 和 b 的长度都大等于2
#获取字符串 a = input("请输入第一个字符串:") b = input("请输入第二个字符串:") while len(a) < 2 and len(b) < 2 : print("警告!请输入长度大于2的字符串!") a = input("请输入第一个字符串:") b = input("请输入第二个字符串:")
请输入第一个字符串:abcd 请输入第二个字符串:efgh
a1 = a[:2] b1 = b[:2] a = b1 + a[2:] b = a1 + b[2:]
def kongge(Str): Length = len(Str) Str_1 = "" for i in range(Length): Str_1 = Str_1 + Str[i] + " " return Str_1 print(kongge(a) + kongge(b))
e f c d a b g h
9、 落球计算
- 一球从100米高度自由落下,假设每次落地后反跳回原高度的一半;再落下,再弹起。请问第6次落地后会弹起多少米?
- 使用for与while循环完成
def DownBall(high,Times): for i in range(Times): high = high / 2 print("第{}次落地后会弹起{}米".format(Times,high)) DownBall(100,6)
第6次落地后会弹起1.5625米
作业
- 求两个数字之间的素数
- 素数:只能被1及自己整除的数,如3,7,13,23等
NumInput1 = eval(input("请输入第一个数字:")) NumInput2 = eval(input("请输入第二个数字:")) if NumInput1 > NumInput2: NumInput1,NumInput2 = NumInput2,NumInput1 NumList = list(range(NumInput1,NumInput2)) SuNum = [] for k in NumList: for i in range(2,i+1): if k%i == 0: SuNum.append(k) for i in SuNum: NumList.remove(i) print("素数",NumList) print("非素数",SuNum)
请输入第一个数字:10 请输入第二个数字:15 素数 [11, 13] 非素数 [10, 12, 14]
本次课程收获
- 对于str.find() 其未查找到时,返回值为-1
- 在取整数商时,也可以是使用“//”整除,而不仅仅使用对被减数,加减一,实现奇偶数的取整除
- 尽量多使用容器
课程之外的收获
- 对于代码能力,需要多动手操作,动手实现,并想出多的解决方案
- 思考,比如,最后的作业题,我使用的方法是寻找非素数,进而反推回素数,这样的逆向思维,也是需要多加练习的
- 代码,最重要的是逻辑思考能力,在今天的写代码的时候,有些地方会想不明白,需要代入一个值进行测试,验证自己的代码,其实这样简单的地方并不是需要测试
文章来源: https://blog.csdn.net/weixin_43930330/article/details/90442811