name = " aleX " 判断 name 变量对应的值是否以 "al" 开头,并输出结果
#第一种
name = 'alex'
if name[0:2] == 'al': #索引拿0,1 是否与name中的前两个索引变量值相同
print(True) #如果以al开头输出True
else:print(False) #否则输出False#第二种
name = 'alex'
if name.startswith('al'): #startswith()用法,括号内填写想要判断的是否是开头的变量值
print(True)else:print(False)
------------------------------------------------------------------------------------------------
获取子序列,仅不包含后一个字符。如:oldboy 则获取 oldbo; root 则获取 roo
name = 'oldboy'name= name[:-1] //切片 范围-1去最后一个print(name)
-----------------------------------------------------------------------------------------------
使用 While 和 For 循环分别打印字符串每个元素
FOR:
name= 'alex'
for i in name: #for循环循环打印alex字符串中每个元素,循环一次一个元素
print(i)while:
name= 'alex'c=0while c < len(name): #获取了字符串长度,变量c等于0与字符串长度对比,每次循环打印出c值索引位置的变量,直到C大于字符串长度 因为索引第一位是0所以第一次进循环是0
print(name[c])
c+= 1FOR RANGE:
name= 'alex'
for v in range(0,len(name)): #令v循环取出0到字符串长度的值,按照索引找到相应变量值循环打印
print(name[v])----------------------------------------------------------------------------------------------请用代码实现:li= [‘alex’,’eric’,’rain]利用下划线将列表的每一个元素拼接成字符串"alex_eric_rain"
#第一种方法:
li = ['alex','eric','rain']
v= '_'i= v.join(li) #.join()功能 使用方法 .前面是要迭代的链接字符串,后面是迭代的列表
print(i)#第二种方法:
li = ['alex','eric','rain']
msg= '' #先设定一个空字符串
is_first = True #设定一个开头为True的变量
for item in li: #item循环取出li列表的值
if is_first : #程序继续进行 #如果接下来当is_First = False时,程序第二次将进入else
tmp=item #第一次获取的值是tmp 不带任何符号
is_first = False #令is_First = False 使下次循环可以进入else
else:
tmp="_"+item #除了第一次is_First进入了第一个if中获得的值为item外,其他都是 "_"+item也就相当于再字符串前面加上迭代符
msg += tmp #msg 第一次为tmp 后为附带_item的tmp值相加
print(msg)
------------------------------------------------------------------------------------------
实现一个整数加法计算器:如:content =input('请输入内容:')#如用户输入:5+9 或 5+ 9 或 5 + 9 ,然后进行分割再进行计算
#第一种方法:
i=input('请输入内容:\n')
i= i.strip() #去空格
a,b = i.split("+") #用split(),以加号为标注分割,分割出是两个值
a = int(a) #分别取整
b =int(b)print(a+b)#第二种方法:
sum =0
c= input('请输入内容')
n= c.split('+') #n为切割后两个值的列表
for i inn:
i=i.strip()
sum+= int(i) #用for循环分别取出后取合
print(sum)
------------------------------------------------------------------------------------------
元素分类有如下值集合[11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个 key 中,将小于 66 的值保存至第二个 key 的值中。 即: {'k1': 大于 66 的所有值列表, 'k2': 小于 66 的所有值列表}
#第一种方法
i = [11,22,33,44,55,66,77,88,99,90]
dic={'k1':[],'k2':[]} #字典中创建两个空键值
for item in i: #item循环取出i中的值
if item < 66:
dic['k1'].append(item) #当item<66时候添加到字典中 为k1的key中
elif item >66:
dic['k2'].append(item) #上同
print(dic)#第二种方法
i = [11,22,33,44,55,66,77,88,99,90]
dic={} #创建空的字典
for item ini:if item < 66:if 'k1' not in dic: #第一次进来时,如果再字典中没有K1这个key
dic['k1'] = [item,] #创建k1并且将“item,”值添加进去
else:
dic['k1'].append(item) #否则添加的使item没有","
elif item >66:if 'k2' not indic:
dic['k2'] = [item,] #上同
else:
dic['k2'].append(item)print(dic)
-------------------------------------------------------------------------------------------
购物车功能要求:要求用户输入自己拥有总资产,例如:2000 显示商品列表,让用户根据序号选择商品,加入购物车购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
goods = [ {"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998}, ]whileTrue:
z= input('请输入总资产') #由用户输入资产
if z.isdecimal(): #判断是否为数字
z = int(z) #判断使数字后取整
print('总资产为:%d'% z) #格式化取出总资产数值
break #输入完毕break跳出while
else: #如果输入的不是数字重新输入,跳回while
print('输入格式错误请输入数字:')
s= 1
for item ingoods:print(s,item['name'],item['price']) #打印商品列表,s初值为1,每次循环s+1,放在字典的名称和价格前面,每次打印出字典中的一组数值,前面的s跟着加一达到序号的效果
s += 1n=0whileTrue:
v= input("请输入要选择的商品序号:输入q结算")if v.strip().lower() == 'q': #将用户输入的数据去空格,变小写,判断是否为条件中的q
break #如果使的话,跳出循环,进入结算功能
elif v.isdecimal(): #如果用户输入的不是结算,判断是否使商品序号 ,判断是否为数字
v = int(v) #如果是的话取整
if v-1 < len(goods): #判断索引是否小于长度,如果小于的话输出序号,按照索引打印商品名称和价格,将价格相加
print(v,goods[v-1]['name'],goods[v-1]['price'])
n+= goods[v-1]['price']else:print('输入错误请重新输入:')if n >z:print('余额不足,缺少金额:%d'% (n-z))else:print('购买成功,所剩金额:%d'%(z-n))-----------------------------------------------------------------------------------------------------------分页显示内容
a. 通过for 循环创建 301条数据,数据类型不限,如:
alex-1alex1@live.com pwd1
alex-2 alex2@live.com pwd2 alex-3alex3@live.com pwd3 ...
PS: 可使用while循环自己创建
user_list=[] 循环,创建字典 {‘user’:’xxx’, ‘email’:’xxx’,’pwd’:’xxxx’},将创建的字典追加到列表中。
dic= [] #创建空列表
i = 1
while i <= 301: #创建一个可以输出301列数据的循环
li = {'name':"alex%d" % (i,), #创建列表li 其中由name emal等 ,由占位符可以按301条数据来创建最后一位数值
'emal':"emal@%d" %(i,),'pwd':"user%d" %(i,)}
dic.append(li)#添加进dic空列表中
i += 1
print(dic)
b. 提示用户 请输入要查看的页码,当用户输入指定页码,则显示指定数据
注意:
- 每页显示 10 条数据
- 用户输入页码是非十进制数字,则提示输入内容格式错误
whileTrue:
page=input('请输入页码\n') #输入页码
page=page.strip()if page.isdecimal(): #判断输入的是否是数字
page=int(page) #取整,好继续接下来的操作
start = (page - 1) * 10 #定义一个变量值为页码-1乘10 这样的话如果要查询 9页 就是 80页开始
end = page * 10 #90页结束刚好十条数据一页
page_user = dic[start:end] #定义列表范围
for item in page_user: #按照输入的页码循环打印
print(item)else:print('输入错误请重新输入:')