求圆周率:2185. 【例4.11】计算圆周率
复习如何导入模块中的函数。
from math import sqrt
f = 0
for i in range(1,10000+1):
f += 1/(i*i);
print( '%.4f' % sqrt(6 * f) )
求阶乘:2177. 练4.4 求阶乘n!的值
复习for循环
n = int(input())
s = 1
for i in range(1,n+1):
s *= i
print(s)
猜数字:2184. 【例4.10】猜数游戏
while循环,用变量来控制循环的结束 或者用break
key = int(input())
Flag = True
while Flag:
val = int(input())
if val > key :
print("偏大")
elif val < key :
print("偏小")
else:
print("正确")
Flag = False #break
求最大公约数:2187. 练4.8 求最大公约数
学习sqlit()函数,以及辗转相减法 和 辗转相除
###辗转相减
s = input()
a, b = s.split(' ') # a='4' b='6'
a, b = int(a) , int(b)
while a != b:
if a > b:
a = a - b
else:
b = b - a
print(a)
###辗转相除法
s = input()
a, b = s.split(' ') # a='4' b='6'
a, b = int(a) , int(b)
while a and b:
r = a % b #求余数
a = b #移项
b = r
print(a)
字符串切片学习
'''
字符串的切片基于正向和反向索引来进行截取字符串
三种方式:
s = "huolong"
正索引 0 1 2 3 4 5 6
负索引 -7 -6 -5 -4 -3 -2 -1
1、s[起始索引(闭) : 结束索引(开) : 步长] #如果步长为1,则可以省略,如果起始没写默认从0开始,如果结束没写默认从字符串结尾结束
'''
s = "huolong"
print(s[0:3]) #huo 步长省略默认为1
print(s[0:3:1]) #huo
print(s[:3:1]) #huo 起点省略默认为0
print(s[-5:-2:1]) #olo 用反向索引来进行正向截取
print(s[-2:-5:-1]) #nol 用反向索引 并且是逆向截取
print(s[::]) #huolong
print(s[::-1]) #gnolouh
print(s[2:-2]) #olo 省略了步长 默认为1 s[2:-2:1]
print(s[1:5:2]) #ul
字符串常见函数
s = "huolonolog"
print(s.find("olo")) #从左边找第一次出现的位置 结果2 不会修改原字符串
print(s.rfind("olo")) #从右边开始找第一次出现的位置 结果6 不会修改原字符串
print(len(s)) #获取s的长度 结果是 10 不会修改原字符串
print(s.count("olo")) #统计olo这个字符串共出现了几次 结果2 当然还可以统计单词出现次数 不会修改原字符串
print(s.replace('olo', 'www')) #把所有olo都替换成www 结果是huwwwnwwwg 不会修改原字符串
print(s.split('olo'))#用olo来进行切割字符串s,结果为['hu', 'n', 'g'] 不会修改原字符串
print(s.startswith("huo"))#判断字符串是否以huo开头 结果为True 不会修改原字符串
print(s.endswith("long"))#判断字符串是否以long结尾 结果为False 不会修改原字符串
print("aaa\nbbb") #其中\n代表换行
列表
li = [10, 10.5, 'A'] #列表
print(li[0]) #输出10 中括号[0]表示第一个元素 注意计算机索引从0开始,人类是从1开始
ar = [10, 20, 30, 50] #列表,如果存放的是同一类型,那么我们一般称为数组,但是数组先分配再使用
arr1 = [0] * 5 #数组的初始化,结果是[0, 0, 0, 0, 0]
print(arr1)#结果是[0, 0, 0, 0, 0]
for循环版本的:
fruits = ['apple','banana','orange']
for fruit in fruits: #注意它不需要range,因为range的结果还是一个列表
print(fruit)
while循环版本的:
fruits = ['apple','banana','orange']
index = 0
length = len(fruits)
while index < length:
fruit = fruits[index]
print(fruit)
index += 1
嵌套列表
test_list = [1,2,3,['a','b','c']]
for temp in test_list:
print(temp)
列表相加:列表相加,相当于把后面一个列表的数据追加到第一个列表后面。
a = [1,2,3]
b = [4,5,6]
a.extend(b) #把b扩充到a里 a的值受到影响
c = a + b #c的值是 [1,2,3,4,5,6] a和b不受影响
print(a) # a.entend(b)
列表的切片操作:跟字符串中的切片操作是一样的。
练习题:2241. 练7.10 整理药名
n = int(input())
for i in range(n):#处理若干行 由上面的整数n来决定
s = input() #读入一个药名名
#先全部转成小写 用s.lower()
s = s.lower()
if 'a' <= s[0] <= 'z':
print(s[0].upper() + s[1:])
else:
print(s)
—— 本文来自火龙信奥(义乌睿码科技):义乌青少年信息学奥赛与编程教育平台,专注 CSP-J/S、NOIP、GESP 竞赛培训,线上线下融合教学,助力编程升学。网址:hlcoding.com