python基础第一周

1.基础

1.1切片

        #字符串切片
        word='python'
        print(word[-4:-2])#th
        #列表切片
        squares=[1,4,9,16,25]
        print(squares[-3:])#[9,16,25]倒数三个
        
        print(squares[::-1])#[25,16,9,4,1]步长为负,从右到左反向提取
       	[10,20,30,40,50,60][1:6:2]#[20,40,60]
        >>> a = ['Mary', 'had', 'a', 'little', 'lamb']
        >>> for i in range(len(a)):
        ...     print(i, a[i])
        ...
        0 Mary
        1 had
        2 a
        3 little
        4 lamb

1.2杂

​ 1.Name=‘world’

​ Print(‘hello’,name,sep=’###’)

​ >>>hello###world

​ 2.格式化字符串

​ ‘{a}乘以{b}等于{c}’.format(a=10,b=20,c=20*10)

​ 10乘以20等于200

https://www.cnblogs.com/fat39/p/7159881.html(格式化)

​ 3.

​ >>> a,b**=**1,2

​ >>> a,b**=**b,a

​ >>> print(a,b)

​ /:8/2=4.0浮点整除

​ //:7//2=3整除

​ %:7%4=3取余

​ 4.运算符优先级

![image.png](file:///C:/Users/69492/AppData/Local/Packages/Microsoft.Office.OneNote_8wekyb3d8bbwe/TempState/msohtmlclip/clip_image001.png)

2.list

​ 创建空的list a=[]

​ a=list(range(6))

​ [0,1,2,3,4,5]

​ a=list(‘ji,sheng’)

​ a=[‘j’,‘i’,’,’,‘s’,‘h’,‘e’,‘n’,‘g’]

  • list.append`(x)

    在列表的末尾添加一个元素。相当于 a[len(a):] = [x]

    A=[‘a’,‘b’,‘c’,‘d’,‘e’]

    A.append(10)

    A.append([10])

    A.append([1,2,3])

    [‘a’,‘b’,‘c’,‘d’,‘e’,10,[10],[1,2,3]

  • list.extend(iterable)

    使用可迭代对象中的所有元素来扩展列表。相当于 a[len(a):] = iterable

    A=[‘a’,‘b’,‘c’,‘d’,‘e’]

    A.extend([10])

    A.extend([1,2,3])

    [‘a’,‘b’,‘c’,‘d’,‘e’,10,1,2,3]

  • list.insert(i, x)

在给定的位置插入一个元素。第一个参数是要插入的元素的索引,所以 a.insert(0, x) 插入列表头部, a.insert(len(a), x) 等同于 a.append(x)

  • list.remove(x)

移除列表中第一个值为 x 的元素。如果没有这样的元素,则抛出 ValueError 异常。

  • list.pop([i])

删除列表中给定位置的元素并返回它。如果没有给定位置,a.pop() 将会删除并返回列表中的最后一个元素。( 方法签名中 i 两边的方括号表示这个参数是可选的,而不是要你输入方括号。你会在 Python 参考库中经常看到这种表示方法)。

  • list.clear()

删除列表中所有的元素。相当于 del a[:]

del

my_dict = dict([(1,‘apple’), (2,‘ball’)])

a = [-1, 1, 66.25, 333, 333, 1234.5]
del a[0]
a
[1, 66.25, 333, 333, 1234.5]
del a[2:4]
a
[1, 66.25, 1234.5]
del a[:]
a
[]

  • list.index(x[, start[, end]])

返回列表中第一个值为 x 的元素的从零开始的索引。如果没有这样的元素将会抛出 ValueError 异常。 可选参数 startend 是切片符号,用于将搜索限制为列表的特定子序列。返回的索引是相对于整个序列的开始计算的,而不是 start 参数。

  • list.count(x)

返回元素 x 在列表中出现的次数。

  • list.sort(key=None, reverse=False)

对列表中的元素进行排序(参数可用于自定义排序,解释请参见 sorted())。

  • list.reverse()==list[::-1]

反转列表中的元素。

  • list.copy()

返回列表的一个浅拷贝。相当于 a[:]

3.set

1.set()是无序集合

2.set()无法索引

3.set()无法更改

3.1创建

my_set = {1.0, “Hello”, (1, 2, 3)}

a = set() (创建空集,和dict()区分)

3.2增加

my_set.add(i)(增加i)

my_set.update([4,5], {1,6,8})(增加多个项)(会自动删除重复项)

3.3删除

my_set.remove(6)(只能根据内容删除)

my_set.discard(2)(在使用discard()项目中不存在项目时,它保持不变。但是remove()会在这种情况下引发错误。)

print(my_set.pop())(无法确定将弹出哪个项目)

4.dirt

  • 空字典

  • my_dict = {}

  • my_dict = {1: ‘apple’, 2: ‘ball’}

  • my_dict = {‘name’: ‘John’, 1: [2, 4, 3]}

  • my_dict = dict({1:‘apple’, 2:‘ball’})

  • my_dict.pop(i) (弹出,同list)

    my_dict.remove(i)(删除返回字典同list)

    my_dict.del(i) (字典中相当于remove)(与list不同)

    my_dict.clear()(全部)

    通过字典和列表创造表格
    r1 = {"name":"js","age":18,"salary":30000,"city":"北京"}
    r2 = {"name":"js2","age":19,"salary":20000,"city":"上海"}
    r3 = {"name":"js3","age":20,"salary":10000,"city":"深圳"}
    
    tb = [r1,r2,r3]
    
    #获得第二行的人的薪资
    print(tb[1].get("salary"))
    
    #打印表中所有的的薪资
    for i in range(len(tb)):   # i -->0,1,2
        print(tb[i].get("salary"))
    
    #打印表的所有数据
    for i in range(len(tb)):
        print(tb[i].get("name"),tb[i].get("age"),tb[i].get("salary"),tb[i].get("city"))

5.练习

1.#给定一个整数 n,打印 3 到 n 以下的所有质数(质数是只能被 1 和它自身整除的数)

import math
n=input('输入一个数')
n=int(n)
for i in range(3,n):
    a=1
    for j in range(2,int(math.sqrt(i))+1):
        if i%j==0:
            a=0
    if a==1:            
        print(i,end=' ')

2.#输出所有的三位水仙花数,其各位数字立方和等于该数本身。

for i in range(100,1000):
    if ((i//100)**3+(i//10%10)**3+(i%10)**3)==i:
        print(i)

3.#给定一个 n 位(不超过 10)的整数,将该数按位逆置,例如给定 12345 变成54321,12320 变成 2321.

a=input('输入一个数')
b=int(a[::-1])
print(b)

4.#给定一个整数 n,判断是否是质数(质数是只能被 1 和它自身整除的数)

n=input('输入一个数')
n=int(n)

def zhishu(n):
    for i in range(2,n):
        if(n%i==0):
            return False
        else:
            return True
    if n==1:
        return True
print(zhishu(n))

5.输入某年某月某日,判断这一天是这一年的第几天?(提示:以 3 月 5 日为例,应该先把前两个月的加起来,然后再加上 5 天即本年的第几天,特殊情况,闰年且输入月份大于 2 时需考虑多加一天。)

import datetime
year=int(input('输入年份:'))
month=int(input('输入年份:'))
day=int(input('输入年份:'))

day1=datetime.date(year,month,day)
daycount=day1-datetime.date(day1.year-1,12,31)
print('这一天是一年的第',daycount.days,'天')

6.#给定一个不大于 9 的数 n,打印 nn 乘法表

n=input('输入一个数')
n=int(n)
for i in range(1,n+1):
    for j in range(1,i+1):
        print(i,'*',j,'=',i*j,end='\t')
    print()

7.五位数中,对称的数称为回文数,打印所有的回文数并计算个数。如:12321

a=0
for i in range(10000,100000):
    if i//10000==i%10 and i//1000%10==i%100//10:#比较个位和万位 十位和千位
        print(i)
        a+=1
print(a)

6.简易用户管理系统

user_list=[]

def addUser():
    user_dict={}
    name=input('请输入新用户名:')
    id=int(input('请输入新用户名微信:'))
    tel=int(input('请输入新用户手机号:'))
    address=input('请输入新用户地址:')
    user_dict['姓名']=name
    user_dict['微信']=id
    user_dict['电话']=tel
    user_dict['地址']=address
    user_list.append(user_dict)
    print(user_list)
    

def findUser():
    name=input('请输入用户名:')
    for i in user_list:
        if name==i['姓名']:
            for j in i.values():
                print(j,end=' ')
            print()
    
def findAll():
    print('姓名','微信','电话','地址')
    for i in user_list:
        for j in i.values():
            print(j,end=' ')
        print()

def delUser():
    name=input('请输入用户名:')
    for i in user_list:
        if i['姓名']==name:
            user_list.remove(i)
def updataUser():
    name=input('请输入要修改的用户名:')
    for i in user_list:
        if i['姓名']==name:
            name=input('请输入新用户名:')
            id=input('请输入新用户名微信:')
            tel=input('请输入新用户手机号:')
            address=input('请输入新用户地址:')
            i['姓名']=name
            i['微信']=id
            i['电话']=tel
            i['地址']=address
            

def main():
    while True:
        a=int(input('请输入操作序号:'))
        if a==1:
            addUser()
        elif a==2:
            findUser()
        elif a==3:
            findAll()
        elif a==4:
            delUser()
        elif a==5:
            updataUser()
        elif a==6:
            break
        else:
            print('请输入正确操作')

if __name__=='__main__':
    main()

猜你喜欢

转载自blog.csdn.net/alv111/article/details/88836236