- #习题1
- #a:实现用户输入用户名和密码,当用户名为seven且密码为123时,显示登录成功,否则登录失败!
- while1:
- name = input('请输入用户名: ')
- psw = input('请输入密码: ')
- ifname =='seven' andpsw =='123':
- print('登陆成功')
- break
- else:
- print('登陆失败')
- break
- #b实现用户输入用户名和密码,当用户名为seven且密码为123时,显示登录成功,否则登录失败,失败时允许重复输入三次count=1whilecount <= 3:
- name = input('请输入用户名: ')
- psw = input('请输入密码: ')
- ifname =='seven' andpsw =='123':
- print('登陆成功')
- break
- else:
- print('登录失败')
- count+=1continue
- #c实现用户输入用户名和密码,当用户名为seven或alex且密码为123时,显示登录成功,否则登录失败,失败时允许重复输入三次count=1whilecount <= 3:
- name = input('请输入用户名: ')
- psw = input('请输入密码: ')
- ifname =='seven' andpsw =='123':
- print('登陆成功')
- break
- elifname =='alex' andpsw =='123':
- print('登陆成功')
- break
- else:
- print('登录失败')
- count+=1continue
- #习题2
- #a使用while循环实现输出2-3+4-5+6...+100的和res=0
- count=2whilecount <= 100:
- ifcount%2 == 1:
- res-=count
- else:
- res+=count
- count+=1print(res)
- #b使用for循环和range实现输出1-2+3-4+5-6...+99的和res=0
- foriinrange(1,100):
- ifi%2== 1:
- res+=i
- else:
- res-=i
- i+=1print(res)
- #c使用while循环实现输出1,2,3,4,5 7,8,9 11,12res=1whileres <=12:
- ifres == 6orres ==10:
- res+=1continue
- print(res)
- res+=1#d使用while循环实现输出1-100内的所有奇数res=1whileres <= 100:
- ifres%2 == 1:
- print(res)
- else:
- res+=1continue
- res+=1#e使用while循环实现输出1-100内的所有偶数res=1whileres <=100:
- ifres%2 == 0:
- print(res)
- else:
- res+=1continue
- res+=1#练习三
- #a移除name变量对应的值的两边的空格,并输入移除有的内容
- # name='alex'
- # print(name.strip())
- #b判断name变量对应的值是否以"al"开头,并输出结果
- # name='alex'
- # print(name.startswith('al')) #True
- #c判断name变量对应的值是否以"x"结尾,并输出结果
- # name='alex'
- # print(name.endswith('x')) #True
- #d将name变量对应的值中的"l"替换为"p",并输出结果
- # name='alex'
- # print(name.replace('l','p'))
- # e.将name变量对应的值根据"l"分割,并输出结果
- # name='alex'
- # print(name.split('l'))
- # f.请问,上一题e分割之后得到的值是什么类型
- # name='alex'
- # print(type(name.split('l')))
- # g.将name变量对应的值变大写,并输出结果
- # name='alex'
- # print(name.upper())
- # h.将name变量对应的值变大小写,并输出结果
- # name='alex,ALex'
- # print(name.upper())
- # print(name.lower())
- # i.请输出name变量对应的值的第2个字符?
- # name='alex'
- # print(name[1])
- # j.请输出name变量对应的值的前3个字符?
- # name='alex'
- # print(name[0:3])
- # k.请输出name变量对应的值的后2个字符?
- # name='alex'
- # print(name[-2:])
- # l.请输出name变量对应的值中"e"所在的索引位置?
- # name='alex'
- # print(name.find('e'))
- #练习四:写代码,有如下列表,按照要求实现每一个功能
- # li = ['alex','eric','rain']
- # a.计算列表长度并输出
- # print(len(li))
- # b.列表中追加元素"seven",并输出添加后的列表li.append('seven')
- print(li)
- # c.请在列表的第1个位置插入元素"Tony",并输出添加后的列表li.insert(0,'Tony')
- print(li)
- # d.请修改列表第2个位置的元素为"Kelly",并输出修改后的列表li[1]='kelly'
- print(li)
- # e.请删除列表中的元素"eric",并输出修改后的列表li.remove('eric')
- print(li)
- # f.请删除列表中的第2个元素,并输出删除元素的值和删除元素后的列表
- print(li.pop(1))
- print(li)
- # g.请删除列表中的第3个元素,并输出删除元素后的列表li.pop(2)
- print(li)
- # h.请删除列表中的第2至4个元素,并输出删除元素后的列表li = ['alex','eric','rain','lina']
- delli[1:5]
- print(li)
- # i.请将列表所有的元素反转,并输出反转后的列表
- li.reverse()
- print(li)
- #*竖三角形l='*'
- foriinrange(1,10):
- print(i*l)
- #*倒竖三角
- #方法1l='*'
- i=9whilei > 0:
- print(i*l)
- i-=1#方法2
- foriinrange(1,12):
- forjinrange(1,12-i):
- print('*',end='')
- print()
- #取出列表中的名字,年龄,出生的年,月,日data=['alex',49,[1900,3,18]]
- print(data[0],data[1],data[2][0],data[2][1],data[2][2])
- #去掉重复names=['egon','alex','egon','wupeiqi']
- print(list(set(names)))
- #去掉重复,且保证列表顺序与原来保持一致names=['egon','alex','egon','wupeiqi']
- res=[]
- foriin names:
- ifinot in res:
- res.append(i)
- print(res)
- #去掉重复,且保证列表顺序与原来保持一致names=[[1,2],3,[1,2],4]
- res=[]
- foriin names:
- ifinot in res:
- res.append(i)
- print(res)
- #统计s='hello alex alex say hello sb sb'中每个单词的个数s='hello alex alex say hello sb sb'
- l=(list(s.split(' ')))
- s1=set(l)
- foriin s1:
- print(i,l.count(i))
- #练习一:
- # if True or False and False:
- # print('yes')
- # else:
- # print('no')
- #输出结果为?为什么?
- # 输出结果为yes,因为 False and False = False,True or False = True
- # if (True or False) and False:
- # print('yes')
- # else:
- # print('no')
- #输出结果为?为什么?
- # 输出结果为no,因为 True or False = True , True and False = False
- #练习二:编写if多分支,猜老男孩的年纪oldbpy_age=67while True:
- age=input('请输入老男孩的年纪: ')
- age=int(age)
- ifage == oldbpy_age:
- print('恭喜你猜对了')
- break
- elifage < oldbpy_age:
- print('猜小了,傻逼')
- continue
- else:
- print('猜大了傻逼')
- #练习三:用户输入用户名密码验证,验证通过后进入子循环,输入命令,命令若为q,则退出所有循环tag=True
- while tag:
- name = input('请输入用户名: ')
- psw = input('请输入密码: ')
- ifname =='sam' andpsw =='123':
- print('登陆成功')
- else:
- print('请重新输入: ')
- continue
- while tag:
- cmd = input('请输入命令(q退出): ')
- ifcmd =='q':
- tag = False
- else:
- print('输入的命令为: ',cmd)
- continue
- #练习四:循环取出元组中所有元素:方式一:while和for(按照索引),方式二:不按照索引的方式t=(1,2,3,4,5,6,7,8,9)
- s=0
- whiles < len(t):
- print(t[s])
- s+=1
- t=(1,2,3,4,5,6,7,8,9)
- foriin t:
- print(t[i-1])
- # # 方式二、
- foriin t:
- print(i)
- #练习五:循环读取列表以及子列表中所有元素l=[1,2,[3,4],[5,6]]
- foriin l:
- # print(i)
- iftype(i) == list:
- forjin i:
- print(j)
- else:
- print(i)
- #练习六:打印
- '''
- *
- ***
- *****
- *******
- '''
- l='*'
- forjinrange(1,8,2):
- l1 = j*l
- print(l1.center(7,' '))
- #练习七:打印
- '''
- *****
- ***
- *
- '''
- l='*'
- l1=6foriinrange(1,6,2):
- l2=(6-i)*l
- print(l2.center(5,' '))
- #练习八:打印
- '''
- *
- **
- ***
- ****
- *****
- '''
- l='*'
- foriinrange(1,6):
- l1=i*l
- print(l1.ljust(5,' '))
- #练习九:打印
- '''
- ******
- *****
- ****
- ***
- **
- *
- '''
- foriinrange(1,7):
- forjinrange(1,8-i):
- print('*',end='')
- print()
- #练习十:编写登陆接口
- # 基础需求:
- # 让用户输入用户名密码
- # 认证成功后显示欢迎信息
- # 输错三次后退出程序res=1whileres<=3:
- name=input('请输入用户名: ')
- psw = input('请输入密码: ')
- ifname =='sam' andpsw =='123':
- print('登陆成功')
- break
- else:
- print('登陆失败,请重新登录')
- res+=1continue
- #数据类型练习题:练习一:有十进制数n=10
- 转成二进制
- 转成八进制
- 转成十六进制
- n=10print(bin(n))#二进制
- print(oct(n))#八进制
- print(hex(n))#十六进制
- #练习二:与用户交互,要求用户输入年龄和薪资,将用户输入的年龄转成整形,将用户输入的薪资转成浮点型res =1whileres <2 :
- nl=input('请输入年龄: ')
- nl=int(nl)
- xz=input('请输入薪资: ')
- xz=float(xz)
- print(type(nl))
- print(type(xz))
- res+=1#练习三:
- '''
- 用户输入用户名,年纪,工作,爱好,格式化输出如下内容(使用%s和format两种方式)
- ------------ info of Alex Li -----------
- Name : Alex Li
- Age : 22
- job : Teacher
- Hobbie: girl
- ------------- end -----------------
- '''
- # 方式一l='Name:{},Age:{},Job:{},Hobbie:{}'
- foriinrange(1,2):
- name=input('请输入用户名: ')
- age=input('请输入年纪: ')
- job=input('请输入工作: ')
- hobbie=input('请输入爱好: ')
- # l=l.format(name,age,job,hobbie)
- print(name.center(30,'-'))
- print('Name: %s\nAge: %s\nJob: %s\nHobbie: %s'%(name,age,job,hobbie))
- e='end'
- print(e.center(30,'-'))
- #方式二l='Name:{z},Age:{x},Job:{c},Hobbie:{v}'
- e='end'
- name=input('请输入用户名: ')
- age=input('请输入年纪: ')
- job=input('请输入工作: ')
- hobbie=input('请输入爱好: ')
- l=l.format(z=name,x=age,c=job,v=hobbie)
- l1=list(l[0:].split(','))
- print(name.center(30,'-'))
- foriin l1:
- print(i)
- print(e.center(30,'-'))
- #练习四:s='alex say hello'
- 切片取出第say
- print(s[5:8])
- 切片取出倒数后两个字符
- print(s[-2:])
- #练习五:
- # 编写循环,让用户输入年纪,如果输入为空,或者不为数字,则重新输入
- while True:
- age = input('请输入年纪: ')
- ifage.isspace() == Trueorage.isdigit() == False:
- print('请重新输入')
- continue
- else:
- print('您的年纪是:',age)
- break
- #练习六:
- # 用列表模拟上电梯的流程(队列)
- # 循环生成一个1000个值的列表(入队)
- # 循环取走这个1000个值(出队)l=[]
- foriinrange(1,1001):
- l.append(i)
- print(l)
- forjinrange(1,1001):
- print(l.pop(0))
- # 用列表模拟把衣服放箱子里,然后取衣服的流程(堆栈)
- # 循环生成一个1000个值的列表(入栈)
- # 循环取走这个1000个值(出栈)l=[]
- foriinrange(1,1001):
- l.append(i)
- print(l)
- forjinrange(1,1001):
- print(l.pop())
- #练习七:dicta={'a':1,'b':2,'c':3,'d':'hello'}
- dictb={'b':3,'c':2,'d':'world','f':10}
- 两字典相加,不同的key对应的值保留,相同的key对应的值相加后保留,如果是字符串就拼接(字符串拼接'hello'+'world'得'helloworld')
- {'a': 1,'b': 5,'c': 5,'d':'helloworld','f': 10}
- dictc=dicta
- foriin dictb:
- ifiin dictc:
- dictc[i]=dictb[i]+dictc[i]
- else:
- dictc[i]=dictb[i]
- print(dictc)
来源: http://www.bubuko.com/infodetail-2114562.html