练习题整理

# #1.‘2018-11-12’去掉‘-’输出
# a='2018-11-12'
# b=a.replace('-','')
# print(b)
#
# #2.统计字符串a中 1的个数 a='201811'
# a='201811'
# b=0
# for i in range(len(a)):
#     if a[i] =='1':
#         b+=1
# print(b)
# 3.字符串换行输出a = '12345678901234567890'效果如下:
# 1234
# 5678
# 9012
# 3456
# 7890

# a = '12345678901234567890'
# b=len(a)
# for i in range(b):
#     if i % 4==0:
#         print(a[i:i+4])

#4.字符串换行输出 a = '12345678901234567890',效果如下:
# 1    a[0:1]
# 23    [1:3]
# 456   [3:6]
# 7890  [6:10]
# 12345 [10:15]
# 67890 [15:20]
a = '12345678901234567890'
# 1    a[0:1]
# 23    [1:3]
# 456   [3:6]
# 7890  [6:10]
# 12345 [10:15]
# 67890 [15:20]
x = 0
y = 1
z = 1
while x<=len(a):
    print(a[x:y])
    x = y
    z = z + 1
    y = x + z


# 1、简述变量命名规范。变量命名规范:
# 由字母、数字、和下划线组成,不能以数字开头,变量命名的字母不能与Python中特定单词重复。
# (1)、见名知意
# 起一个有意义的名字,尽量做到看一眼就知道是什么意思(提高代码可读性)
# 比如: 名字 就定义为 name ,定义学生用student
# (2)、变量、函数、模块命名遵循下划线命名法,
# 例如:student_info,my_age
# (3)、类遵循大驼峰命名法。
# MyStudent
# 注意:小驼峰命名法,
# 第一个单词以小写字母开始;第二个单词的首字母大写,例如:myName、aDog,但是python中不建议使用也可以使用

# 2、默写字符串12个功能,并且描述其作用。
# a='a'
# a.count()  统计字符串中指定字符的个数
# a.find()   查找,返回从左到右第一个指定字符的索引,找不到返回-1
# a.index()   返回从左到右第一个指定字符的索引,找不到报错
# a.partition()  把字符串以str分割成三部分,str前,str自身和str后
# a.splitlines()  按照行分隔,返回一个包含各行作为元素的列表,按照换行符分割
# a.split()  按照指定的内容进行分割,以列表形式返回拆分内容,不显示分割内容
# a.upper()  将字符串当中所有的字母转换为大写
# a.lower()  将字符串当中所有的字母转换为小写
# a.title()  将字串符当中的单词首字母大写,单词以非字母划分
# a.swapcase()  将字符串当中所有的字母大小写互换
# a.replace()   从左到右替换指定的元素,可以指定替换的个数,默认全部替换
# a.strip()   默认去除两边的空格,去除内容可以指定


# 3、数字、字符串、元组、列表、字典对应的布尔值为False的分别为什么。
# 数字:0,字符串:'',元组(),列表[],字典{}

# 4、写代码,有如下列表,利用切片实现每一个功能。
# lst=[1,3,2,’a’,4,’b’,5,’c’]
# (1).通过切片获取新的列表 lst2, lst2=[1,2,4,5]
# (2).通过切片获取新的列表 lst3,lst3=[3,’a’,’b’]
# (3).通过切片获取新的列表 lst4,lst4=[‘c’]
# (4).通过切片获取新的列表 lst5,lst5=[‘b’,’a’,3]
# lst=[1,3,2,'a',4,'b',5,'c']
# lst2=lst[0:7:2]
# print(lst2)
# lst3=lst[1:6:2]
# print(lst3)
# lst4=[lst[-1]]
# print(lst4)
# lst5=lst[-3:-8:-2]
# print(lst5)

# 5、列表题
# lis = [['k', ['qqq', 20, {'k1': ['aa', 3, '1']}, 33], 'xx']]
# (1).将 aa 变成大写AA。
# (2).将列表中的3变成字符串‘3’
# lis = [['k', ['qqq', 20, {'k1': ['aa', 3, '1']}, 33], 'xx']]
# lis[0][1][2]['k1'][0]='AA'
# print(lis)
# lis[0][1][3]='33'
# lis[0][1][2]['k1'][1]='3'
# print(lis)


# 6、字典dic = {'k1': 'v1', 'k2': ['sb', 'aa'], (1, 2, 3, 4, 5): {'k3': ['2', 100, 'wer']}}
# (1). k2对应的值中添加33
# (2).k2对应的值的第一个位置插入一个元素‘s’
# (3).将(1,2,3,4,5)对应的值添加一个键值对 ‘k4’:’v4’
# (4).将(1,2,3,4)对应的值添加一个键值对(1,2,3):‘ok’
# (5).将’k3’对应的值的‘wer’改为’qq’。

#(1)
# dic['k2'].append(33)
# print(dic)
#(2)
# dic['k2'].insert(0,'s')
# print(dic)
#(3)
# dic[(1,2,3,4,5)]['k4']='v4'
# print(dic)
#(4)
# dic[(1,2,3,4,5)][(1,2,3)]='ok'
# print(dic)
#(5)
# dic[(1,2,3,4,5)]['k3'][2]='qq'
# print(dic)

# 7、类型转换题目
# (1).int和str 如何转换,转换的结果是什么。
# int值可以转换成str,但是str转换的前提条件是字符串元素全部都是整型数
# print(str(8))#整型变字符串
# print(int('123'))#字符串变整型
# (2).int 与bool如何转换,转换的结果是什么。
# 除了0之外的所有bool型都是true
# print(bool(0))#false
# print(bool(1))#true
# print(int(True))#默认为1
# print(int(False))#默认为0
# (3).str 与 list 如何转换,转换的结果是什么。
# str转化为list类型:
# a='123egfgtr'
# b=list(a)
# print(b)
# list转化为str类型:
# a=[1,2,3,'asd']
# b=''.join(i for i in a )
# print(b)
# c=''
# for i in a:
#     c+=str(i)
#    print(c)

# 8、实现下列结果
# (1).有列表li=['aa','bb','cc'],将该列表构造成一个字符串 aabbcc
# (2).有列表li=['aa','bb','cc'],将该列表构造成一个字符串 aa*bb*cc
# (3).有字符串 s='albblcc' 将构造成一个列表 lst=[‘a’,’lbblcc’]
# (4).有字符串 s='aab bcc' 构造成列表 lst=[‘aab’,’bcc’]
# (5).有字符串s='abcd' 将字符串变成a_b_c_d。

# li=['aa','bb','cc']
# a=li[0]+li[1]+li[2]
# print
# b=li[0]+'*'+li[1]+'*'+li[2]
# print(a)

# s='albblcc'
# #lst=[‘a’,’lbblcc’]
# lst=list(s[0])+[s[1:]]
# print(lst)

# s='aab bcc'
# # lst=[‘aab’,’bcc’]
# lst=[s[0:3]]+[s[4:7]]
# print(lst)


# s='abcd'
# s1='_'.join(s)
# print(s1)

# 9、使用for循环和while循环打印1-2+3-4+5... +99 的结果。

# for循环
# a=0
# b=0
# for i in range(1,100):
#     if i%2==0:
#         a-=i
#     else:
#         b+=i
# print(a+b)

# while循环
# a=0
# b=0
# i=1
# while i<100:
#     if i%2==0:
#         a-=i
#     else:
#         b+=i
#     i+=1
# print(a+b)

# 10、使用range()函数打印 100,99,98,...0
# for i in range(0,101):
#     print(100-i)


# 11、计算用户输入内容中索引为奇数并且对应的元素的数字的个数(没有则个数为零)
# a=input('请输入一串数字:')
# b=0
# for i in range(len(a)):
#     if i %2==1 and a[i].isdigit():
#         b+=1
# print(b)


# 12、有如下值li = [11, 22, 33, 44, 55, 77, 88, 99, 90],
# 将所有大于66的值保存至字典的第一个key中,将小于66的值保存至第二个key的值中。
# li = [11, 22, 33, 44, 55, 77, 88, 99, 90]
# dic={}
# lis1=[]
# lis2=[]
# for i in li:
#     if i>66:
#         lis1.append(i)
#     elif i<66:
#         lis2.append(i)
# dic['大于66的值:']=lis1
# dic['小于66的值:']=lis2
# print(dic)

# 13、查找列表中lst中的元素,移除每一个元素的空格,并且找出以’A’或者‘a’开头和
# 以‘c’结尾的所有元素,并添加到一个新列表中,最后循环打印这个新列表。
# li = ['bajie ', 'axlzC', ' AbC ', '  gsssq  ', '  bobo  ',' dongdong ', ' aqc']
# lst=[]
# for i in li:
#     i=i.strip()
#     if (i.startswith('A')or i.startswith('a')and i.endswith('c')):
#         lst.append(i)
# print(lst)


# 14、整数加法计算器
# 例如用户输入:5+8+21...(最少输入2个数相加),然后进行分割再进行计算,
# 将最后的计算结果添加到字典中(替换None)。
# a=input('请输入算法:\n')
# dic={‘最终结果’:None}
# lst=a.split('+')
# print(lst)
# b=0
# for i in lst:
#     a+=int(i)
# dic['最终结果']=b
# print(dic)


# 15、购买商品有商品列表 lst= ["手机", "电脑", "鼠标垫", "游艇"]
# (1)在控制台上显示所有的商品,格式: 序号 商品名称 例如: 1 手机。
# (2)如果输入Q则结束购买任务。
# (3)输入对应的序号显示对应的商品,例如 输入 1 显示 手机
# (4)如果输入的不是数字,提示用户输入有误。
# (5)如果数字范围不再序号范围内,也提示用户输入有误。
#
# lst= ["手机", "电脑", "鼠标垫", "游艇"]
# for i in lst:
#     print('商品名称:',lst.index(i)+1,i)
# while True:
#     a=input('请输入要买商品的序号【输入q/Q退出程序】:')
#     if a.lower()=='q':
#         break
#     elif a.isdigit():
#         a=int(a)
#         if a in range(len(lst)+1):
#             print(lst[a-1])
#         else:
#             print('输入的内容有误,请重新输入')
#     else:
#         print('输入有误,请重新输入')



# user_name=[]
# board = ['zs', 'ls', 'ww']
# count=0
# while True:
#     dic = {}
#     a=input('请输入用户名【输入Q或q直接退出】:')
#     if a=='Q'or a=='q':
#         break
#     b = input('请输入密码【输入Q或q直接退出】:')
#     if b=='Q' or b=='q':
#         break
#     for i in board:
#         if i in a:
#             a1 = a.replace(i,'**')
#             dic[a1]=b
#             user_name.append(dic)
#             print(user_name[count])
#             count+=1
#     if count==0:
#         dic[a] = None
#         dic[a] = b
#         user_name.append(dic)
#         print(dic)
#
#     o=input('是否继续,请输入是或者否:')
#     if o=='是':
#         continue
#     elif o=='否':
#         break
#     else:
#         print('对不起,输入有误,程序结束')
#         break



# 16、写程序:保存用户名和密码。
# (1).用户名和密码保存在如下数据结构中
# user_list = [
#     {'username': 'zs', 'password': '1234'},
#     {'username': 'ls', 'passwod': 'asdf'}
# ]
# (3).非法字符模板board = ['zs', 'ls', 'ww']。
# (4).可连续输入用户名和密码。
# (5).如果想终止程序,请输入Q或者q。
# (6).录入用户名时,如果是board里面的非法字符串,将非法字符串替换成同等数量的* 例如 zs 替换成**。然后添加到user_list中
# .每次添加成功后,打印出刚添加的用户名,密码
# dic={}
# user_name=[]
# board = ['zs', 'ls', 'ww']
#
# while True:
#     count = 0
#     a=input('请输入用户名【输入Q或q直接退出】:')
#     if a=='Q'or a=='q':
#         break
#     b = input('请输入密码【输入Q或q直接退出】:')
#     if b=='Q' or b=='q':
#         break
#
#     if a in board:
#         c=len(a)
#         d='*'*c
#         dic[d]=b
#         user_name.append(dic)
#         count+=1
#     else:
#         #dic.setdefault(a,b)
#         dic[a] = None
#         dic[a] = b
#     # print('用户名是字:',a,'用户密码是:',b)
#     # user_name.append(dic)
#     # print(user_name)
#     user_name.append(dic)
#     print(user_name[count])
#     o=input('是否继续,请输入是或者否:')
#     if o=='是':
#         continue
#         count+=1
#     elif o=='否':
#         break
#     else:
#         print('对不起,输入有误,程序结束')
#         break



# user_name=[]
# board = ['zs', 'ls', 'ww']
# count=0
# while True:
#     dic = {}
#     a=input('请输入用户名【输入Q或q直接退出】:')
#     if a=='Q'or a=='q':
#         break
#     b = input('请输入密码【输入Q或q直接退出】:')
#     if b=='Q' or b=='q':
#         break
#     for i in board:
#         if i in a:
#             a1 = a.replace(i,'**')
#             dic[a1]=b
#             user_name.append(dic)
#             print(user_name[count])
#             count+=1
#     if count==0:
#         dic[a] = None
#         dic[a] = b
#         user_name.append(dic)
#         print(dic)
#
#     o=input('是否继续,请输入是或者否:')
#     if o=='是':
#         continue
#     elif o=='否':
#         break
#     else:
#         print('对不起,输入有误,程序结束')
#         break



# 17、超市买水果
# (1).输入自己所有的钱。
# (2)展示商品的序号,名称及其价格。
# (3)输入要买商品的序号。
# (4)输入要买商品的数量。
# (5)购物车中显示购买的水果名称及其对应的数量和剩余钱。
# (6)如果序号输入有误就提示用户重新输入。
# (7)如果钱不够了提示用户钱不够,并且退出程序。
money = int(input('请输入您的所欲钱的金额:'))
lis = {'苹果': 5, '梨': 6, '香蕉': 10, '橘子': 8}
print(1, '苹果', '5元一斤')
print(2, '梨  ', '6元一斤')
print(3, '香蕉', '10元一斤')
print(4, '橘子', '12元一斤')

while True:
    a = int(input('请输入您要买的商品序号:'))
    b = int(input('请输入要买商品的的斤数:'))

    if a == 1:
        c = money - b * 5
        if c >= 0:
            print('您购买了', '苹果', b, '斤', '剩余金额为:', c)
        else:
            print('对不起您的金额不足')
            break
    elif a == 2:
        c1 = money - a * 6
        if c >= 0:
            print('您购买了', '梨', b, '斤', '剩余金额为:', c1)
        else:
            print('对不起您的金额不足')
            break
    elif a == 3:
        c2 = money - a * 10
        if c >= 0:
            print('您购买了', '香蕉', b, '斤', '剩余金额为:', c2)
        else:
            print('对不起您的金额不足')
            break
    elif a == 4:
        c3 = money - a * 12
        if c >= 0:
            print('您购买了', '橘子', b, '斤', '剩余金额为:', c3)
        else:
            print('对不起您的金额不足')
            break
    else:
        print('对不起,您输出有误,请重新输入')
        continue

你可能感兴趣的:(练习题整理)