day3:python测试题

1、Python的怎么单行注释和多行注释:

  单行注释:#

  多行注释: '''     '''      或者  “”“        ”“”    、

2、布尔值分别是什么 ?

  True    /False

3、字符串是否为可迭代对象?如果可以请用for循环每个元素?

  只要能被for循环命令操作的话,那就是可迭代对象

4、有1、2、3、4、5、6、7、8个数字,能组成多少个互不相同且无重复的两位数?

1 count = 0
2 for i in range(1,9):
3     for a in range(1,9):
4             if i != a :
5                 count += 1
6 print(count)        

5、99乘法表 

1 for i in range(1,10):
2     for y in range(1,i+1):#动态数字
3         print('{0} * {1} = {2}'.format(i,y,i*y),end = '\t')
4         #/t打印完成后,留一个tab的位置
5     print(end = '\n') #一次循环后换行

6、用户三次登录

 1 count = 0
 2 while count < 3 :
 3     user = input('请输入账号:')
 4     pwd = input('请输入密码')
 5     if user == 'test1' and pwd == 'a1b2c3':
 6         print('登录成功')
 7         break
 8     else:
 9         count += 1
10         print('用户名或密码错误请重新登录')
11         if count == 3:
12             print('登录失败,请稍后重试')

7、使用 while 循环实现输出 2-3+4­-5+6 ...+100 的和 

1 a = 0
2 count = 1
3 while count < 101 :
4     count += 1
5     if count % 2 == 0:#偶数相加
6         a = a + count#a += count
7     else:#奇数相减
8         a = a - count# a -= count
9 print(a)

8、使用 for 循环和 range 实现输出1-2+3-4+5-6....-98+99  的和

1 a = 0
2 for count in range(1,100) :
3     count += 1
4     if count % 2 == 0:
5         a = a + count
6     else:
7         a = a - count
8 print(a)

 9、使用 while 循环实现输出 1-100 内的所有奇数

1 i = 0
2 while i < 100 :
3     i += 1
4     if i % 2 != 0 :
5         print(i)

10、23、写代码,有如下列表,请按照功能要求实现每一个功能li=["hello",'seven',["mon",["h","kelly"],'all'],123,446]
a. 请输出 “Kelly”

1 li=["hello",'seven',["mon",["h","kelly"],'all'],123,446]
2 print(li[2][1][1])# 下标

b.请使用索引找到 'all'元素并将其修改为 “ALL”

1 li=["hello",'seven',["mon",["h","kelly"],'all'],123,446]
2 li[3] = 'ALL'
3 print(li)

11、写代码,有如下元组,按照要求实现每一个功能
  tu=('alex','eric','rain')

a.计算元组长度并输出

1 tu=('alex','eric','rain')
2 print(len(tu))

b.获取元组的第2个元素,并输出

1 tu=('alex','eric','rain')
2 print(tu[1])

c.获取元组的第 1-2个元素,并输出

1 tu=('alex','eric','rain')
2 print(tu[0:2])

d.请使用 for 输出元组的元素

1 tu=('alex','eric','rain')
2 for i in tu:
3     print(i)

e.请使用 for、len、range 输出元组的索引

1 tu=('alex','eric','rain')
2 for i in range(0,len(tu)):
3         print(i,tu[i])

f.请使用 enumrate 输出元祖元素和序号(序号从 10 开始)

1 tu=('alex','eric','rain')
2 print(tuple(enumerate(tu)))

12、

有如下值集合 [11,22,33,44,55,66,77,88,99,90],
将所有大于66的值保存至字典的第一个 key中,
将小于66的值保存至第二个 key 的值中。

即:{'k1':大于 66 的所有值,'k2':小于66 的所有值}

 1 a = {'k1':[],
 2      'k2':[]
 3      }
 4 list1 = []
 5 list2 = []
 6 test= [11,22,33,44,55,66,77,88,99,90]
 7 for i in test:
 8     if i > 66 :
 9         list1.append(i)
10     elif  i < 66 :
11         list2.append(i)
12 a.update(k1=list1,k2 =list2)
13 print(a)
#附加题:
test= [11,22,33,44,55,66,77,88,99,90]添加至 dic = {} 
#效果:dic = {'k1':[
11,22,33,44,55],'k2':[77,88,99,90]}
test= [11,22,33,44,55,66,77,88,99,90]
dic = {}
for item in test:
if item < 66 :
if 'k1'not in dic:#如果不加判断语句,会覆盖原有数据
dic.update({'k1':[item,]})
else:
dic['k1'].append(item)
elif item > 66 :
if 'k2'not in dic:
dic.update({'k2':[item,]})
else:
dic['k2'].append(item)
print(dic)

13、购物车
功能要求:
要求用户输入总资产,例如: 2000
显示商品列表,让用户根据序号选择商品,加入购物车
购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
goods = [
{"name":"电脑","price":1999},
{"name":"鼠标","price":10},
{"name":"游艇","price":20},
{"name":"美女","price":98},

 1 goods    =    [
 2 {"name":"电脑","price":1999},
 3 {"name":"鼠标","price":10},
 4 {"name":"游艇","price":20},
 5 {"name":"美女","price":98},
 6 ]
 7 money = input('请输入金额:')
 8 money = int(money)
 9 num = 0
10 count = 0
11 for i in goods:
12     num += 1
13     print(num, i['name'], i['price'])
14 while True:
15     num1 = input('请选择商品对应的序号:如果不需要购买商品,请按Q/q退出')
16     if num1 == 'q' or num1 == 'Q':
17         break
18     elif int(num1) - 1 >= 0 and int(num1) - 1 <= len(goods):
19         num1 = int(num1)
20         num1 = num1 - 1  # 数量和索引对齐
21         count = input('请选择商品的数量')
22         zongji = int(goods[num1]['price']) * int(count)  # 取列表的价格
23         print('您购买的商品:%s,数量:%s,价格:%s' % (goods[num1]['name'], int(count), zongji))
24         if money >= int(zongji):
25             print('如果购此物品,您的剩余余额将为:', money - int(zongji))
26         else:
27             print('余额不足,请重新购买商品')
28         going = input("继续购买请输入‘y',结账请按'n'")
29         if going == 'n' or going == 'N':
30             zongji = int(goods[num1]['price']) * int(count)  # 取列表的价格
31             print('您购买的商品:%s,数量:%s,价格:%s' % (goods[num1]['name'], int(count), zongji))
32             shopping = input('购买请输入y/Y,退出请按任意键')
33             if shopping == 'y' or shopping == 'Y':
34                 if money >= int(zongji):
35                     print('购物成功,您的剩余余额为:', money - int(zongji))
36                 else:
37                     print('余额不足,请重新购买商品')
38             else:
39                 break
40         elif going == 'Y' or going == 'y':
41             continue
42         else:
43             print('输入错误,请重新输入')
44     else:
45         print('输入错误,请重新输入')
View Code

 14、用while,for,range循环打印出字符串的每个元素

1 a ='alex'
2 # for i in range(0,len(a)):
3 #     print(a[i])
4 # for i in a :
5 #     print(i)
6 num = 0
7 while num < len(a):
8     print(a[num])
9     num += 1
View Code

15、实现一个整数假发计算器:

如content = input #如果用户输入  5 +9   进行分割后,进行相加

1 content = input('>>>')  # 5+9
2 a, b = content.split('+')#分割 除去+号
3 a = int(a)
4 b = int(b)
5 print(a + b)

16、计算用户输入的内容中有几个整数

如content = input #:afjaklfjalksfjlo65465465ajkfjasl-454654

1 content = input('>>>')  #
2 val = 0
3 for count in content:
4     if count.isdecimal():#检查是否字符串全为数字
5         val += 1
6 print(val)

18、关键词过滤

 1 # 如果用户输入的内容中存在任意关键字,则提示用户重新输入
 2 # 否则,打印结束
 3 li = ['小泽玛利亚', '苍老师', '东京热']#过滤这些关键字
 4 while True:
 5     has_key = False
 6     content = input('>>>>')  #
 7     # 循环所有关键字,查看是否内容中存在?
 8     for k in li:
 9         if k in content:
10             print('请重新输入')
11             has_key = True
12             break #跳出for循环
13     if has_key == False: #如果等于False不循环
14         break

19、’检查列表中的元素,一处元素的空格,并查找以a 或 A开头,并且以C结尾的所有元素

 1 lis = ['abc','Aric',"tony",'rain']
 2 lis1 =('abc','Aric',"tony",'rain')
 3 dic = {'k1':'abc',
 4        'k2':'Aric',
 5        'k3':'tony',
 6        'k4':'rain'}
 7 #for i in lis :
 8     # a = i.strip()
 9     # if a.startswith('a') or a.startswith('A') and a.endswith('c'):
10     #     print(a)
11 # for i in lis1:
12 #     b = i.strip()
13 #     #if (b[0] == 'a' .....) and b[-1] == 'c' :
14 #     if (b.startswith('a') or b.startswith('A')) and b.endswith('c'):
15 #         print(b)

20、分页显示内容

创建300条数据,并分页显示,

 1 user_list = []
 2 i = 1
 3 while i <= 301 :
 4 #用user_list里面的数据创建字典
 5     user_list.append({'user':'alex-%d' %(i),'mail':'alex%d@live' %(i),'pwd':'pwd%d' %(i)})
 6     i += 1
 7 while True :
 8     page = input('请输入页码,每页显示10条数据')
 9     page =int(page)
10     start = (page-1) * 10#索引的开始
11     end = page * 10 #索引的结束
12     current_page_user =  user_list[start:end]
13     #page = 1时,user_list[0:10] 显示第一次10条数据
14     #page = 2时,usre_list[10:20]显示第二次10条数据
15     for item in current_page_user:
16         print(item)
View Code

猜你喜欢

转载自www.cnblogs.com/sunjinchao/p/10661105.html