编程集训Day 2

昨天由于刚好接手了一些任务,没有腾出时间来练习,今天把之前的Python练习补上,明天开始再顺便复习一下之前学习的C/C++

##review列表
a=list(range(1,10,2))
print(a[-3])
a[-2]='r'
print(a)
a.insert(4,'I love you')
print(a)
a.pop()
print(a)
a.pop()
print(a)
a.remove(3)
print(a)
a.reverse()
print(a)
b=a.copy()
print(b)
c=1 not in a##bool
print(c)


##切片:截取一个部分,得到一个新序列;
##开始位置,右开区间,步长
a=[1,2,3,4,7,9,11,13]
a=a[::]
print(a)
a=a[::2]
print(a)
a=a[:4:]
print(a)

from copy import *
a=[1,3,1,4,['i','love']]
c=copy(a)
d=deepcopy(a)
a[4].append('you')
print(c)
print(d)

from random import *
a=list(range(10))
print(a)
shuffle(a)##随机排序
print(a)
a.sort(reverse=True)
print(a)

a=[5,2,0,9,9]
a.sort()
print(a)
a=sorted(a,reverse=True)
print(a)
b=sorted(a)
print(b)
str='iloveyou'##只有字符串必须使用等式进行sort
str=sorted(str)
print(str)

以下是元组练习:

##元组
a=(96,97,98,99)
print(a)
a=tuple([96,94,93,91])
print(a)
del a
b=(2,4,5)
print(b)
##列表可变,元组不可变
##tuple可以冻结列表,list可以融化元组
##元组的访问和处理速度比列表快
##元组可用作字典的键,但列表不可以
x=([97,98],99)
x[0][0]=96
print(x)
x[0].append(95)
print(x)

以下是封装函数部分:

def money(n):
    s=0
    for i in range(1,n+1):
        s+=2**i
    return s
print(money(30)//10000+1)

def demo(*p):
    print(p)
demo(5,2,0)

def demo(**p):
    for item in p.items():
        print(item)
demo(a=5,b=2,c=0)
##一个*解包,两个*解字典
##lambda函数
f=lambda x,y,z:x+y+z
print(f(1,2,3))

a=[1,3,1,4]
b=list(map((lambda x:x*100),a))
print(b)
a={'i':99,'love':98,'you':97}
b=sorted(a)
print(b)
c=sorted(a.values())
print(c)
d=sorted(a.items(),key=lambda x:x[1])
print(d)

def tupleCout(s):
    result=[0,0]
    for ch in s:
        if ch.islower(): result[1]+=1
        elif ch.isupper(): result[0]+=1
    return tuple(result)
s="After all,Tomorrow is another day!"
print(tupleCout(s))

创造一个猜数函数:

from random import randint
def guess(maxValue=100,maxTimes=7):
    value=randint(1,maxValue)
    for i in range(maxTimes):
        prompt='Start to guess:'if i==0 else 'Guess again:'
        try:x=int(input(prompt))
        except:print('Must input an integer')
        else:
            if x==value: print('Congratulations!'); break
            elif x>value: print('TOO BIG')
            else: print("TOO LITTLE")
    else:
        print('Game Over.')
        print('The value is ',value)
print(guess())

博主目前的编程能力的确有限,希望能在最短的时间之内快速提升吧

刚接触编程四个月,直接上三门语言感觉还是有些吃不消,最困难的情况就是能想出来思路却不知道如何用代码来实现,感觉数学语言和编程语言还是有不少不同的,毕竟机器语言对我来说太新鲜了。。。

利用MonteKaro方法进行圆周率的近似求解,用到的方法类似于蒲丰投针:

from random import random
def estimate(times):
    hits=0
    for i in range(times):
        x=random()*2-1
        y=random()*2-1
        if x*x+y*y<=1:
            hits+=1
    return 4.0*hits/times
print(estimate(100000))
print(estimate(10000000))

最后一个部分,字符串,感觉python的基础语法还是蛮多的。。。

##字符串
print("%c"%65)
print("%s"%65)
print("%.4f"%3.14159)
str='09876543'
print(str[::-1])
print(str[-3:-1])
print(str[-3:])
s='lemon,lichee,peach'
print(s.find('peach',7,17))
print(s.index('e'))
print(s.count('e'))

s='2022-12-26'
print(list(map(int,s.split('-'))))
s='hello world'
print(s.split())
print(s.split(None,4))
print('I am genius'.lower())
print('ahhhahahahha'.upper())
print('what is your name?'.capitalize())
print('my name is David'.swapcase())
print('abc'.strip('a'))
import math
print(eval('3+4'))
print('a' in 'adcfvghbjk')

明天可以正式开始ALG的开心学习啦!!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值