_username='Alex Li'
_password='abc123'
username=input("username:")
password=input("password:")if _username==username and _password==password:print(("Welcome user {name} login...").format(name=username))else:print("Invalid username or password!")
5.指向—修改字符串
print("Hello World")
name ="Alex Li"
name2=name
print(name)print("My name is", name,name2)# Alex Li Alex Li
name ="PaoChe Ge"# name2=name指的是name2与name一样指向Alex Li的内存地址,name指向改了,但是name2不变print("My name is", name,name2)# PaoChe Ge Alex Liprint("您好,我来了")
6.注释''' '''内涵
# 第一种情况就是注释'''print("这是一行注释")'''#第二种情况就是打印多行字符串str='''这是第一行内容
这是第二行内容'''print(str)# 3.单套双,双套单都可以
str1="i'am a student"print(str1)
7.模块初始sys与os
import sys
# 打印环境变量print(sys.path)print(sys.argv)print(sys.argv[2])# 进度条import time
for i inrange(50):
sys.stdout.write('#')
sys.stdout.flush()
time.sleep(0.5)import os
cmd_res = os.system("dir")# os.system()执行后直接输出到终端,然后结束,最后cmd_res保存的是os.system()执行后的状态码print("--->",cmd_res)# ---> 0
cmd_res1=os.popen("dir")print("--->",cmd_res1)# 得到的是内存对象值 ---> <os._wrap_close object at 0x00000000029187B8>
cmd_res1=os.popen("dir").read()print("--->",cmd_res1)# 读取数据必须再后面加个read()
os.mkdir("new_dir3")# 创建一个目录
os.removedirs("new_dir")# 删除一个目录
8.三元运算
# 1.result = 值1 if 条件 else 值2
d=a if a>b else c
print(d)
# 元组相当于只读列表,只有两个方法一个是count,一个是index
names=('alex','jack','alex')print(names.count('alex'))print(names.index('jack'))# 购物篮程序
product_list=[('Iphone',5800),('Mac Pro',9800),('Bike',5800),('Watch',10600),('Coffee',31),('Alex Python',120),]
shopping_list=[]
salary=input("Input your salary:")if salary.isdigit():
salary=int(salary)whileTrue:'''for item in product_list:
print(product_list.index(item),item)
'''for index,item inenumerate(product_list):print(index,item)
user_choice=input("选择要买嘛?>>:")if user_choice.isdigit():
user_choice=int(user_choice)if user_choice<len(product_list)and user_choice>=0:
p_item=product_list[user_choice]if p_item[1]<=salary:
shopping_list.append(p_item)
salary-=p_item[1]print("Added %s into shopping cart, your current balance is \033[31;1m%s\033[0m"%(p_item,salary))else:print("\033[41;1m你的余额只剩[%s]啦,还买个毛线\033[0m"%salary)else:print("product code[%s] is not exist!"%user_choice)elif user_choice=='q':print('-----------shopping list----------------')for p in shopping_list:print(p)print("Your current balance:",salary)
exit()else:print("invalid option")
6.Set操作
# 集合set 集合关系测试
list_1=[1,4,5,7,3,6,7,9]
list_1=set(list_1)print(list_1,type(list_1))
list_2=set([2,6,0,6,22,8,4])print(list_2,type(list_2))print("--------------------------------")# 取交集print("方法一")print(list_1.intersection(list_2))print("方法二")print(list_1&list_2)print("--------------------------------")# 取并集print("方法一")print(list_1.union(list_2))print("方法二")print(list_1|list_2)print("--------------------------------")# 差集 in list_1 but not in list_2print(list_1.difference(list_2))print(list_1-list_2)print("--------------------------------")# 子集
list_3=[1,4,6]
list_4=[1,4,6,7]
list_3=set(list_3)
list_4=set(list_4)print(list_3.issubset(list_4))print(list_4.issuperset(list_3))print("--------------------------------")# 对称差集 把list_1与list_2互相都没有的元素放在一块,其实就是去掉重复元素print(list_1.symmetric_difference(list_2))print(list_1^list_2)print("--------------------------------")# 是否没有交集 Return True if two sets have a null intersection.
list_5=set([1,2,3,4])
list_6=set([5,6,7])print(list_5.isdisjoint(list_6))print("--------------------------------")# 基本操作# 添加一项
list_1.add('x')print(list_1)# 添加多项
list_1.update([10,37,42])print(list_1)# 删除一项
list_1.remove(10)print(list_1)# set长度print(len(list_1))# 测试9是否是list_1的成员print(9in list_1)# pop()删除并且返回一个任意的元素print(list_1.pop())# 删除一个指定的值
list_1.discard('x')print(list_1)
7.字符串操作
name="alex"print(name.capitalize())# 首字母大写print(name.count("a"))# 统计字母个数print(name.count("a"))# 统计字母个数print(name.center(50,"-"))#总共打印50个字符,并把nam放在中间,不够的用-补上print(name.endswith("ex"))# 判断字符串以什么结尾
name="alex \tname is alex"print(name.expandtabs(tabsize=30))# 将name中\t转为30个空格print(name.find("x"))# 取索引print(name[name.find("x"):])# 字符串切片
name="my \tname is {name} and i am {year} old"print(name.format(name="alex",year=23))print(name.format_map({'name':'alex','year':23}))print('ab123'.isalnum())#isalnum()包含所有字母及数字,如果不是这两个,则为Falseprint('ab123'.isalpha())# False isalpha()包含纯英文字符print('1A'.isdecimal())# 是否是十进制 Falseprint('1A'.isdigit())# 是否是整数 Falseprint('_'.isidentifier())#判断是否是合法的标识符,实质是否为合法变量名 Trueprint('aasd'.islower())# 判断是否是小写 Trueprint(''.isspace())# 是否是空格 Falseprint('My name is'.istitle())# 字符串首字母大写为title,否则不是print('+'.join(['1','2','3']))# 对一列表中所有元素进行join操作print(name.ljust(50,'*'))# 左对齐字符串,多余位用*补全print(name.rjust(50,'-'))# 右对齐字符串,多余位用*-补全print('\n Alex'.lstrip())# 去掉左边的空格/回车print('\nAlex\n'.rstrip())# 去掉右边的空格/回车print('\nAlex\n'.strip())# 去掉左边和右边的空格/回车print('Alex')
p=str.maketrans("abcdef","123456")print("alex li".translate(p))#把alex li换成上一行对应的值print("alex li".replace('l','L',1))# 替换 1表示替换几个l,从左到右计算替换个数print("alex li".rfind('l'))# 找到的最右边的下标返回print("alex li".split('l'))# 默认将字符串按照空格分隔成列表,也可以在()中填写相应的分隔符,比如以字符l分隔,print("alex li".split(‘l’)),而且分隔符在列表中不会出现print("1+2+3+4".split('+'))# ['1', '2', '3', '4']print("1+2\n+3+4".splitlines())# ['1+2', '+3+4']print("Alex Li".swapcase())# aLEX lIprint('lex li'.title())# Lex Liprint('lex li'.zfill(50))#不够以0填充print('---')