Python学习乐动体育的一些记录

乐动体育LD90.VIP提供的
#!/bin/env python

#-- coding:utf8 --

学 python 的 记录

练习一天 ~

adict = dict([(‘name’,‘bob’),(‘age’,25)])

print(len(adict))

print(adict)

a = hash(100) # 判断给定的数据是不是不可变的 , 不可变数据才能作为 key

print(a)

a = adict.keys() # 取出所有字典的 key

print(a)

a = adict.values() # 取出字典所有的 value

print(a)

a = adict.items() # 取出 key:value 对

print(a)

#get 方法常用很重要

print(adict.get(‘name’)) # 取出字典中 name 对应的 value, 如果没有则返回 None

print(adict.get(‘qq’)) #None

print(adict.get(‘qq’,‘not found’)) # 没有 qq, 返回指定内容 :not found

print(adict.get(‘age’,‘not found’))

a = adict.update({‘phone’: ‘123456’}) # 返回值为 None

print(a)

b = adict[‘phone’] = ‘123456’ # 存在则更新 不存在就添加 并且可赋值

print(b)

# 集合相当于是无值 (value) 的字典 , 所以也用 {} 表示

myset = set(‘hello’)

print(len(myset))

for ch in myset:

print(ch)

aset = set(‘abc’)

bset = set(‘cde’)

aset & bset # 交集

aset.intersection(bset) # 交集

aset | bset # 并集

aset.union(bset) # 并集

aset - bset # 差补

aset.difference(bset) # 差补

aset.add(‘new’)

print(aset)

aset.update([‘aaa’,‘bbb’])

print(aset)

aset.remove(‘bbb’)

cset = set(‘abcde’)

dset = set(‘bcd’)

cset.issuperset(dset) #cset 是 dset 的超集么 ?

dset.issubset(cset) #dset 是 cset 的子集么 ?

#cp /etc/passwd .

#cp /etc/passwd mima

#vim mima -> 修改 , 与 passwd 有些区别

with open(‘passwd’)as fobj:

aset = set(fobj)

with open(‘mima’) as fobj:

bset = set(fobj)

with open(‘diff.txt’,‘w’)as fobj:

fobj.writelines(bset - aset)

import getpass

userdb = {}

def register():

username = input('username: ')

if username in userdb:

print(’%s already exists.’% username)

else:

password = input('password: ')

userdb[username]=password

def login():

username = input('username: ')

password = getpass.getpass('password: ').strip()

if userdb.get(username) != password:

print(‘login failed’)

else:

print(‘login successful’)

def show_menu():

cmds = {‘0’:register,‘1’:login}

prompt = “”"(0)register

(1)login

(2)exit

Please input your choice(0/1/2): “”"

while True:

choice = input(prompt).strip()[0]

if choice not in ‘012’:

print(‘Invalid input,Try again.’)

continue

if choice == ‘2’:

break

cmdschoice

if name == ‘main’:

show_menu()

import time

result = 0

start = time.time() # 返回运算前时间戳

for i in range(100000000):

result +=i

end = time.time() # 返回运算后时间戳

print(result)

print(end-start)

print(‘hello world!’)

if 3 > 0:

print(‘ok’)

print(‘yes’)

x = 3; y = 4 # 不推荐 可读性差

print(x+y)

print(‘hello world!’)

print(‘hello’,‘world!’) # 逗号自动添加默认的分隔符 : 空格

print(‘hello’ + ‘world’) #+ 表示字符拼接

print(‘hello’,‘world’,sep=’***’) #sep 指定分隔符

print(’#’ * 50) #* 表示重复 *50 遍

print(‘how are you?’,end=’’) # 取消 print 的默认打空格机构

print(5/2)

print(5//2)

print(5%2)

print(5**3)

print(5>3)

print(3>5)

print(20>10>5)

print(20>10 and 10 > 5)

print(not 20 > 10)

number = input(’ 请输入数字 ; ') #input 用于获取键盘输入

print(number)

print(type(number)) #input 获得的数据是字符型

function(){ //外汇经纪商动态:http://www.fx61.com/news

print(number + 10) # 报错 不能把字符和数字做运算

print(int(number) + 10) #int 可将字符串 10 转换成数字 10

print(number + str(10)) #str 将 10 转换为字符串后实现字符串拼接

username = input('username: ')

print(‘welcome’,username) #print 各项间默认以空格作为分隔符

print(‘welcome’+username) # 助意引号内最后的空格

sentence = ‘tom’s pet is a cat’

sentence2 = “tom’s pet is a act”

sentence3 = ‘tom said:“hello world!”’

sentence4 = ‘tom said"hello world"’

# 三个连续的单引号或双引号 , 可以保存输入格式 , 允许输入多行字符串

words = “”"

hello

world

abcd"""

print(words)

py_str = ‘python’

len(py_str) # 取长度

py_str[0] # 取第一个字符串

‘python’[0]

py_str[-1] # 最后一个字符

#py_str[6] # 错误 , 下表超出范围

py_str[2:4] # 切片 起始下标包含 , 结束下标不包含

py_str[2:] # 从下标为 2 的字符取到结尾

py_str[:2] # 从开头取到下标是 2 之前的字符

py_str[:] # 取全部

# 步长值为 2, 默认是 1

py_str[::2]

py_str[1::2] # 去除 yhn

py_str[::-1] # 步长为负 , 表示自右向左取

py_str + ‘is good’ # 简单的拼接到一起

py_str * 3 # 把字符串重复三遍

print(‘t’ in py_str) #True

print(‘th’ in py_str)

print(‘to’ in py_str)

print(‘to’ not in py_str)

alist = [10,20,30,‘bob’,‘alice’,[1,2,3]]

print(len(alist))

alist[-1] # 取出最后一项

alist[-1][-1] # 因为最后一项是列表 , 列表还可以继续取吓标

[1,2,3][-1] #[1,2,3] 是列表 ,[-1] 表示列表最后一项

alist[-2][2] # 列表倒数第二项是字符串 , 在取出来字符下标为 2 的字符

alist[3:5] #[‘bob’,‘alice’]

print(10 in alist)

print(‘o’ in list)

print(100 not in alist)

alist[-1] = 100 # 修改最后一项的值

alist.append(200) # 向列表中追加一项

atuple = (10,20,30,‘bob’,‘alice’,[1,2,3])

print(len(atuple))

print(10 in atuple)

print(atuple[2])

print(atuple[3:5])

#atuple[-1]=100 # 错误 元组是个不可改变的

# 字典是 key-value 键值对形式的 , 没有顺序 , 通过键取出值

adict = {‘name’:‘bob’,‘age’: 21}

print(len(adict))

print(‘bob’ in adict)

print(‘name’ in adict)

a = adict[‘email’]= ‘[email protected]

print(a)

adict[‘age’]=25 # 字典中已有 key, 修改对应的 value

if 3 > 0:

print(‘yes’)

print(‘ok’)

if 10 in [10,20,30]:

print(‘ok’)

if -0.0:

print(‘yes’) # 任何值为 0 的数字都是

if [1,2];

print(‘yes’) # 非空对象都是 True

if ‘’:

print(‘yes’) # 空格字符也是字符 , 条件为 True

a = 10

b = 20

if a

smaller=a

else:

smaller=b

print(smaller)

s = a if a < b else b # 和上面的 if-else 语句等价

print(s)

import getpass

username = input('username: ')

#getpass 模块中 , 有一个方法也叫 getpass

password = getpass.getpass('password: ')

if username == ‘bob’ and password == ‘123456’:

print(‘Login successful’)

else:

print(‘Login incorrect’)

import random

num = _random.randint(1,10) # 随机生成 1-10\ 之间的数字

answer = int(input('guess a number: ')) # 将用户输入的数字符转乘整数

if answer > num:

print(’ 猜大了 ')

elif answer > num:

print(’ 猜小了 ')

else:

print(’ 猜对了 ')

print('the number: ',num)

score = int(input(’ 分数 : '))

if score >=90:

print(’ 优秀 ')

elif score >= 80:

print(’ 好 ')

elif score >= 70:

print(’ 良好 ')

elif score >= 60:

print(’ 及格 ')

else:

print(’ 你要努力了 ')

score = int(input(’ 得分 : '))

if score >= 60 and score <70:

print(’ 及格 ')

elif 7 <= score<80:

print(’ 良好 ')

elif 80 <= score <90:

print(’ 好 ')

elif score >= 90:

print(’ 优秀 ')

else:

print(’ 你要努力了 ')

import randdom

all_choice = [’ 石头 ‘,’ 剪刀 ‘,’ 布 ']

computer = randdom.chocie(all_choice)

player = input(’ 请出拳头 : ')

#print(‘Your choice:’,player,“Computer’s choice”,computer)

print("'Your choice: %s,Computer’s choice: %s"% (player,computer))

if player == ’ 石头 ':

if computer == ’ 石头 ':

print(’ 平局 ')

elif computer == ’ 剪刀 ':

print(‘You WIN!!!’)

else:

print(‘You LOSE!!!’)

elif player == ’ 剪刀 ':

if computer == ’ 石头 ':

print(‘You LOSE!!!’)

elif computer == ’ 剪刀 ':

print(’ 平局 ')

else:

print(‘You WIN!!!’)

else:

if computer == ’ 石头 ':

print(‘You WIN!!!’)

elif computer == ’ 剪刀 ':

print(‘You LOSE!!!’)

else:

print(’ 平局 ')

import random

all_choices = [’ 石头 ‘,’ 剪刀 ‘,’ 布 ']

win_list = [[’ 石头 ‘,’ 剪刀 ‘],[’ 剪刀 ‘,’ 布 ‘],[’ 布 ‘,’ 石头 ']]

prompt = “”"(0) 石头

(1) 剪刀

(2) 布

请选择 (0/1/2: “”"

computer = random.choice(all_choice)

ind = int(input(prompt))

player = all_choices[ind]

print("'Your choice: %s,Computer’s chocie:%s"% (player,computer))

if player == computer:

print(’\033[31;1m 平局 \033[0m’)

elif [player,computer]in win_list:

print(’\033[31;1mYou WIN!!!\033[0m’)

else:

print(’\033[31;1mYou LOSE!!!\033[0m’)

import random

num = random.randint(1,10)

couter = 0

while couter <5:

answer = int(input(‘guess the number:’))

if answer > num:

print(’ 猜大了 ')

elif answer < num:

print(’ 猜笑了 ')

else:

print(’ 猜对了 ')

break

couter +=1

else: # 循环被 break 就不执行了 , 没有被 break 才执行

print('the number is : ',num)

sum100 = 0

counter = 1

while counter < 101:

sum100 += counter

counter +=1

print(sum100)

while True:

yn = input('Continue(y/n): ')

if yn in [‘n’,‘N’]:

break

print(‘running…’)

sum100 = 0

counter = 0

while counter < 100:

counter +=1

#if conuter %2:

if counter %2 ==1:

continue

sum100 += counter

print(sum100)

astr = ‘hello’

alist = [10,20,30]

atuple = (‘bob’,‘tom’,‘alice’)

adict = {‘name’: ‘john’,‘age’:23}

for ch in astr:

print(ch)

for i in alist:

print(i)

for name in atuple:

print(name)

for key in adict:

print(’%s:%s’% (key,adict[key]))

#range(10) #[0,1,2,3,4,5,6,7,8,9]

#>>>list(range(10))

#range(6,11) #[6,7,8,9,10]

#range(1 ,10, 2) # 随机的基数列表 1 3 5 7 9

#range(10 ,0 ,-1) # 倒着随机 10 9 8 7 6 5 4 3 2 1 由于 0 为最后一项不打印

sum100 = 0

for i in range(1,101):

sum100 += i

print(sum100)

fib = [0,1]

for i in range(8):

fib.append(fib[-1] + fib[-2])

print(fib)

for i in range(1,10):

for i in range(1,i + 1):

print(’%s*%s=%s’% (j,i,j*i),end=’’)

print()

#i =1 ->j:[1]

#i =2 ->j:[1,2]

#i =3 ->j:[1,2,3]

n = int(input('number: '))

for i in range(1,n + 1):

for j in range(1, i + 1):

print(’%s*%s=%s’% (j,i.i*j),end="")

print()

#10+5 的结果放到列表中

[10+5]

#10+5 这个表达式计算 10 次

print([10+5for i in range(10)])

#10+i 的 i 来自循环

print([10+i for i in range(10)])

print([10 + i for i in range(1,11)])

# 通过 if 过滤 , 满足 if 条件的才参与 10+i 的运算

print([10+i for i in range(1,11)if i % 2 == 1])

print([10+i for i in range(1,11)if i %2])

# 生成 ip 地址列表

#print([‘192.168.1.%s’% i for i in range(1,255)])

import random

all_choices = [’ 石头 ‘,’ 剪刀 ‘,’ 布 ']

win_list = [[’ 石头 ‘,’ 剪刀 ‘],[’ 剪刀 ‘,’ 布 ‘],[’ 布 ‘,’ 石头 ']]

prompt = “”"(0) 石头

(1) 剪刀

(2) 布

请选择 (0/1/2): “”"

cwin = 0

pwin = 0

while cwin < 2 and pwin <2 :

computer = random.choice(all_choice)

ind = int(input(prompt))

player = all_choices[ind]

print(“Your choice: %s,Computer’s choice: %s”% (player,computer))

if player == computer:

print(’\033;1m 平局 \033[0m’)

elif [player,computer] in win_list:

pwin += 1

print(’\033[31;1m You WIN!!!\033[0m’)

else:

cwin += 1

print(’\033[31;1mYou LOSE!!!\033[0m’)

# 文件操作的三个步骤 : 打开 读写 关闭

#cp /etc/passwd /tmp

f = open(’/tmp/passwd’) # 默认以 r 的方式打开纯文本文件

data = f.read() #read() 把所有内容读取出来

print(data)

data =f.read() # 随着读写的进行 , 文件指针向后移动 .

# 因为第一个 f.read() 已经把文件指针移动到结尾了 , 所以再读就没有数据了

# 所以 data 时空字符串

f.close()

f= open(’/tmp/passwd’)

data=f.read(4) # 读 4 字节

print(f.readline()) # 读到换行符 \n 结束

f.readlines() # 把每一行数据读出来放到列表中

f.close()

f = open(’/tmp/passwd’)

for line in f:

print(line,end=’’)

f.close()

f =open(’ 图片地址 ',‘rb’) # 打开非文本文件要加参数 b

f.read(4096)

f.close()

f = open(’/tmp/myfile’,‘w’) #‘w’ 打开文件 , 如果文件不存在则创建

f.write(‘hello world!\n’)

f.flush() # 立即将缓存中的数据同步到磁盘

f.writelines([‘2nd line.\n’,‘new line.]n’])

f.close() # 关闭文件的时候将数据保存到磁盘

with open(’/tmp/passwd’)as f:

print(f.readline())

f = open(’/tmp/passwd’)

f.tell() # 查看文件指针的位置

f.readline()

f.tell()

f.seek(0,0) # 第一个数字是偏移量 , 第二个数字是相对位置

# 相对位置 0 表示开头 1 表示当前 2 表示结尾

f.tell() # 查看当前的位置

f.close()

file1 = open(’/bin/ls’,‘rb’)

file2 = open(’/root/ls’,‘wb’)

data = file1.read()

file2.write(data)

file1.close()

file2.close()

src_fname=’/bin/ls’

dst_fname=’/root/ls’

src_fobj=open(src_fname,‘rb’)

dst_fobj = open(dst_fname,‘wb’)

while True:

data = src_fobj.read(4096)

if not data:

break

dst_fobj.write(data)

src_fobj.close()

dst_fobj.close()

import sys

print(sys.argv) #sys.argv 是 sys 模块里的 argv 列表

python position_args.py

python positon_args.py

python position_args.py

def gen_fib(l):

fib = [0,1]

for i in range(l -len(fib)):

fib.append(fib[-1] + fib[-2])

return fib # 返回列表 , 不返回变量 fib

a = gen_fib(10)

print(a)

print(’-’*50)

n = int(input("length: "))

print(gen_fib(n))

import sys

def copy(src_fname,dst_fname):

src_fobj = open(src_fname,‘rb’)

dst_fobj = open(dst_fname,‘wb’)

while True:

data = src_fobj.read(4096)

if not data:

break

dst_fobj.write(data)

src_fobj.close()

dst_fobj.close()

copy(sys.argv[1],sys.argv[2])

# 执行方式

#cp_func.py /etc/hosts /tmp/zhuji.txt

def mtable(n):

for i in range(1,n+1):

for j in range(1,i + 1):

print(’%s*%s=%s’% (j,i,i*j),end=’’)

print()

mtable(6)

mtable(9)

hi =‘hello world!’

def pstar(n=50):

print(’*’*n)

if name == ‘main’:

pstar()

pstar(30)

print(pstar())

print(hi)

from random import choice

import string

all_chs = string.ascii_letters + string.digits

def gen_pass(n=8):

result = ‘’

for i in range(n):

ch = choice(all_chs)

result +=ch

return result

if name == ‘main’:

print(gen_pass())

print(gen_pass(4))

print(gen_pass(10))

alist = [10,‘john’]

#list(enumerate(alist)) #[(0,10),(1,'john)] # 取出 key 和 value 以列表方式

#a,b = 0,10 #a->0 ->10

print(len(alist))

for ind in range(len(alist)):

print(’%s:%s’% (ind,alist[ind]))

for item in enumerate(alist):

print(’%s: %s’% (item[0],item[1]))

for ind,val in enumerate(alist):

print(’%s: %s’% (ind,val))

atuple = (96,97,40,75,58,34,69,26,66,90)

print(sorted(atuple)) # 分类

print(sorted(‘hello’))

for i in reversed(atuple):

print(i,end=’’)

py_str = ‘hello world!’

print(py_str)

py_str.capitalize() # 行首字母大写

print(py_str.capitalize())

print(py_str.title()) # 每个单词首字母大写

print(py_str.center(50)) # 居中 50 格子默认用空格补齐

print(py_str.center(50,’#’)) # 居中 50 并且用 # 补全

print(py_str.ljust(50)) # 左对齐右边默认空格补全

print(py_str.rjust(50,’*’)) # 右对齐并以 * 补全左边 50

print(py_str.count(‘l’)) # 统计 i 出现的次数

print(py_str.count(‘lo’))

print(py_str.endswith(’!’)) # 以 ! 结尾么 ?

print(py_str.endswith(‘d!’))

print(py_str.startswith(‘a’)) # 是以 a 开头么 ?

print(py_str.islower()) # 字母都是小写的 ? 其他字符不考虑

print(py_str.isupper()) # 字母都是大写的 ? 其他字符不考虑

print(’ \thello\t '.strip()) # 默认去除两端空白字符 , 常用

print('hello\t '.lstrip()) # 去除左边

print(‘how are you ?’.split()) # 默认分离 以空格为分割标志

print(‘hello.tar.gz’.split(’.’)) # 分离 以·为分割标志

print(’.’.join([‘hello’,‘tar’,‘gz’])) # 合并 是 split 和 join 是相反的

print(’%s is %s years old’% (‘bob’,23)) # 常用

print(’%s is %d years old’% (‘bob’,23))

print(’%s is %d years old’% (‘bob’,23.5)) #%d 只能整数 但是不会报错

print(’%s is %f years old’% (‘bob’,23.5)) # 小数显示

print(’%s is %.2f years old’% (‘bob’,23.5))

print(’%s is %5.2f years old’% (‘bob’,23.5))

print(’%s is %5.f years old’% (‘bob’,23.5)) # 宽五保留两位小数

print('97 is %c '% 97) #ascii 码中小写字母 a 编号为 97

print(‘11 is %#o’% 11) # 表示有前缀的八进制 (11 is 0o13)

print(‘11 is %#x’% 11) # 表示有前缀的十六进制 (11 is 0xb)

print(’%10s%5s’% (‘name’,‘age’)) #%10s 表示总宽度为 10, 走对其

print(’%-10s%-5s’% (‘name’,‘age’)) # 左对齐

print(’%10d’% 123)

print(’%010d’% 123) # 右靠其并且总长度为 10 不足的用 0 补全

print(’{} is {} years old’.format(‘bob’,25))

print(’{1} is {0} years old’.format(25,‘bob’))

print("{:<10}{:<8}".format(‘name’, ‘age’)) # 向左对其

print("{:>10}{:>8}".format(‘name’, ‘age’)) # 向右对其

import shutil

with open(’/etc/passwd’,‘rb’)as sfobj:

with open(’/tmp/mima.txt’,‘wb’)as dfobj:

shutil.copyfileobj(sfobj,dfobj) # 拷贝文件对象

shutil.copyfile(’/etc/passwd’,’/tmp/mima2.txt’)

shutil.copy(’/etc/shadow’,’/tmp/’) #cp /etc/shadow /tmp/

shutil.copy2(’/etc/shadow’,’/tmp/’) #cp -p /etc/shadow /tmp/

shutil.move(’/tmp/mima.txt’,’/var/tmp’) #mv /tmp/mima.txt /var/tmp

shutil.copytree(’/etc/security’,’/tmp/anquan’) #cp -r /etc/security /tmp/anquan

shutil.rmtree(’/tmp/anquan’) #rm -rf /tmp/anquan

# 将 mima2 的权限在设置成与 /etc/shadow 一样

shutil.copymode(’/etc/shadow’,’/tmp/mima2.txt’)

# 将 mima2.txt 的 \ 元数据设置成与 /etc/shadow 一样

# 元数据使用 stat /etc/shadow 查看

shutil.copystat(’/etc/shadow’,’/tmp/mima2.txt’)

shutil.chown(’/tmp/mima2.txt’,user=‘zhangsan’,group=‘zhangsan’)

import os

def get_fname():

while True:

fname = input('filename: ')

if not os.path.exists(fname):

break

print(’%s already exists.Try again’% fname)

return fname

def get_content():

content = []

print(’ 输入数据 , 输入 end 结束 ')

while True:

line = input(’>’)

if line == ‘end’:

break

content.append(line)

return content

def wfile(name,content):

with open(fname,‘w’)as fobj:

fobj.writelines(content)

if name == ‘main’:

fname = get_fname()

content = get_content()

content = [’%s\n’% line for line in content]

wfile(fname,content)

alist = [1,2,3,‘bob’,‘alice’]

alist[0] = 10

alist[1:3] = [20,30]

print(alist)

alist[2:2] = [22,24,26,28]

print(alist)

print(alist.append(100))

alist.remove(24) # 删除第一个 24

alist.index(‘bob’) # 返回下标

blist = alist.copy() # 相当于 blist = alist[:]

alist.insert(1,15) # 向下标为 1 的位置插入数字 15

alist.pop() # 默认弹出最后一项

alist.pop(2) # 弹出下标为 2 的项目

alist.pop(alist.index(‘bob’))

alist = [1,2,3,4,5,6]

alist.sort(reverse=True) # 倒叙排序

print(alist)

alist.reverse()

alist.count(20) # 统计 20 出现次数

alist.clear()

#alist.append(‘new’)

alist.extend(‘new’) #[‘n’, ‘e’, ‘w’]

alist.extend([‘hello’,‘world’,‘hehe’])

print(alist)

检查变量名称是否符合标准

import sys

import keyword

import string

first_chs = string.ascii_letters + ‘_’

all_chs = first_chs + string.digits

def check_id(idt):

if keyword.iskeyword(idt):

    return "%s is keyword" % idt



if idt[0] not in first_chs:

    return "1st invalid"



for ind,ch in enumerate(idt[1:]):

    if ch not in all_chs:

        return "char in postion #%s invalid" % (ind + 2)



return '%s is valid' % idt

if name == ‘main’:

print(check_id(sys.argv[1]))

import subprocess

import sys

from randpass2 import randpass

def adduser(username,password,fname):

data= ‘’'user information:

%s:%s

‘’’

subprocess.call(‘useradd %s’% username,shell=True)

subprocess.call(

‘echo %s |passwd --stdin %s’% (password,username),

shell=True

)

with open(fname,‘a’)as fobj:

fobj.write(data % (username,password))

if name == ‘main’:

username = sys.argv[1]

password = randpass()

adduser(username,password,’/tmp/user.txt’)

# python adduser.py.john

stack = []

def push_it():

item = input('item to push: ')

stack.append(item)

def pop_it():

if stack:

print(“from stack popped %s”% stack.pop())

def view_it():

print(stack)

import sys

def unix2dos(fname):

dst_fname = fname + ‘.txt’

with open(fname)as src_fobj:

with open(dst_fname,‘w’)as dst_fobj:

for line in src_fobj:

line = line.rstrip() +’\r\n’

dst_fobj.write(line)

if name == ‘main’:

unix2dos(sys.argv[1])

import time

length = 19

count = 0

while True:

print(’\r%s@%s’% (’#’* count,’#’*(length-count)),end="")

try:

time.sleep(0.3)

except KeyboardInterrupt:

print(’\nBye-bye’)

break

if count ==length:

count = 0

count += 1

adict = dict() #{}

dict([‘ab’,‘cd’])

bdict = dict([(‘name’,‘bob’),(‘age’,25)])

print({}.fromkeys([‘zhangsan’,‘lisi’,‘wangwu’],11))

for key in bdict:

print(’%s:%s’% (key,bdict[key]))

print(’%(name)s:%(age)s’% bdict)

bdict[‘name’] = ‘tom’

bdict[‘email’] = ‘[email protected]

del bdict[‘email’]

print(bdict)

bdict.pop(‘age’)

bdict.clear()

stack = []

def push_it():

data = input(’ 数据 : ').strip()

if data:

stack.append(data)

else:

print(’ 输入内容为空 .’)

def pop_it():

if stack:

print(’ 从栈中 , 弹出 :%s’% stack.pop())

else:

print(’ 空栈 ')

def view_it():

print(stack)

def show_menu():

cmds = {‘0’: push_it,‘1’: pop_it,‘2’: view_it}

prompt ="""(0) 压栈

(1) 出栈

(2) 查询

(3) 退出

请选择 (0/1/2/3): “”"

while True:

choice = input(prompt).strip()

if choice not in [‘0’,‘1’,‘2’,‘3’]:

print(‘input is invalid,Try again,’)

continue

if choice ==‘3’:

print(’\nBye-bye’)

break

cmdschoice

if name == ‘main’:

show_menu()

你可能感兴趣的:(Python学习乐动体育的一些记录)