zoukankan      html  css  js  c++  java
  • python第一模块练习

    ### 第一套题
    # # 1. 分别解释"=","==","+="的含义(口述)
    # =为赋值语句,把一个变量值赋予另一个值
    # == 为条件判断,判断两个值是否相等
    # += 为赋值 意思为 a+=1 就是a=a+1

    # 2.
    # 两个变量值的关系?(口述)
    # - n1 = 123456
    # - n2 = n1
    # n1赋予123456的值 然后将n1地址存储123456的内存地址给与n2 意思就是n1 n2指向123456这个地址。

    # 3. 请写出 “路飞学城” 分别用 utf-8 和 gbk 编码所占的位数(口述)
    # utf-8 占12字节 GBK占8字节 12字节相当于96位 8字节64位

    # 4. 简述Python中的几种数据类型(口述)
    # 数据类型分为:基本类型、数据集。
    # 基本类型包括:数字类型(整形、长整型、浮点型、复数)、字符串类型、布尔类型。
    # 数据集类型包括:列表、元祖、字典、集合。
    #
    # 5. 数据类型的可变与不可变分别有哪些?(口述)
    # 可变:字符串、列表、可变集合、字典value
    # 不可变:数字、字符串、布尔、元祖、字典key、不可变集合
    #
    # 6.
    # 元祖,列表,字典有没有长度的限制?(口述)
    # 没有,根据内存大小定义。
    #
    # 7.
    # 列表['alex', 'egon', 'yuan', 'wusir', '666'](编程)
    # info = ['alex', 'egon', 'yuan', 'wusir', '666']
    # -1.把666替换成999
    # info[-1] = '999'
    # print(info)

    # -2.获取"yuan"索引
    # print(info.index('yuan'))

    # -3.假设不知道前面有几个元素,分片得到最后的三个元素
    # print(info[-3:])

    # 8. 将字符串“www.luffycity.com”给拆分成列表:li=['www','luffycity','com'] (编程)
    # li='www.luffycity.com'
    # print(li.split('.'))

    # # 9. 对字典进行增删改查(编程)
    # # - {"Development":"开发小哥","OP":"运维小哥","Operate":"运营小仙女","UI":"UI小仙女"}
    # dic={"Development":"开发小哥","OP":"运维小哥","Operate":"运营小仙女","UI":"UI小仙女"}
    # #增加
    # dic['打扫']='阿姨'
    # print(dic)
    # #删除
    # del dic['打扫']
    # print(dic)
    # # 改
    # dic['UI']='ui'
    # print(dic)
    # #查
    # print(dic.get('UI'))

    # 10. 计算1+2+3...+98+99+100 (编程题)
    # a = range(100)
    # count = 0
    # for i in a:
    # count = count+i
    # print(count)

    # 11. 制作趣味模板程序(编程题)
    # 需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意现实
    # 如:敬爱可爱的xxx,最喜欢在xxx地方干xxx

    # name = input('输入名字:')
    # place = input('输入地点:')
    # likes = input('输入爱好:')
    # print('敬爱可爱的%s,最喜欢在%s地方干%s'%(name,place,likes))

    # 12. 写一个三次认证(编程)
    # 1. 实现用户输入用户名和密码,当用户名为 seven 或 alex 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
    # name = 'senven'
    # name1 = 'alex'
    # password = '123'
    # count=0
    # while count < 3:
    # name_ = input("请输入用户名:")
    # password_= input("请输入密码:")
    # if (name == name_ or name1 == name_) and password_ == password:
    # print('登录成功')
    # break
    # else:
    # count += 1
    # print('登录失败%s次,超过3次则退出'%(count))


    ### 第二套题
    # # 1. 解释'and','or','not'(口述)
    # 和C语音的与或非类似,and,or,not都为逻辑运算符
    # and表示两者都为TRUE,则为TRUE
    # or表示两者有一个判断为布尔TRUE 则结果为TRUE 反之则False
    # not 表示取反 如x为True,not x 则为False

    # 2. 元组和列表的区别(口述)
    # 元组又叫只读列表,不可改变,且无序。
    # 列表有序,并且可以修改。

    # 3. 列举一堆布尔值为False的情况(口述)
    # [],{},None,False,'',数字0,-0
    # print(bool([]))

    # 4. python2和python3对于long(长整形)的区别。
    # python2中有整形int和long,int 32位系统最多只有32位,超出32位则为long。64位系统为64位。
    # python3中全部为int。
    # long在python中没有指定位宽。

    # 5. 元祖和列表的区别(口述)
    # 元组又叫只读列表,不可改变,且无序。
    # 列表有序,并且可以修改。

    # 6. 变量命名规范 ?(口述)
    # 首字母不能是数字,并且变量名只能含有英文,数字,和下划线_

    # # 7. 阐述一下unicode和utf-8的区别(或者unicode在python3的作用)(口述)
    # unicode又叫万国码,涵盖全世界的编码,所有字符和符号最少由16位(2个字节)表示,和别的编码有对应映射关系。
    # utf-8对unicode进行了优化,uft-8对于英文只占用1个字节,欧洲字符2个字节,东亚字符3个字节,特殊字符4个字节。
    # 在python3中默认在内存存储代码的形式就是unicode,为了方便不同国家的人查看代码。

    # 8.内存空间的考核。(口述)
    #
    # - 问修改前后info的id是否改变
    # - 问修改前后info['alex']['hobbies']
    # 的id是否改变
    #
    # info = {
    # 'egon': {'pwd': '123', 'hobbies': ['play', 'music', 'read']},
    # 'alex': {'pwd': '1234', 'hobbies': ['music', 'read']},
    # 'wupeiqi': {'pwd': '135', 'hobbies': ['read', ]},
    # }
    # info['alex']['hobbies'].append('play')

    # 内存地址不会改变。

    # 9. 切割字符串"luffycity"为"luffy","city"(编程)

    # info='luffycity'
    # print(info[0:5])
    # print(info[5:])

    # 10. 猜年龄游戏(编程题)

    # age = 26
    # while 1:
    # user_guess = input("猜猜年龄数:")
    # if user_guess.isdigit() == True:
    # if age == int(user_guess):
    # print("恭喜你!猜对了")
    # break
    # elif int(user_guess) > age:
    # print("你猜大啦,再试试吧")
    # else:
    # print("你猜小啦,再试试吧")

    # 11. 求1~100间所有偶数的和(亦可奇数和,使用while循环写)(编程题)。

    # count1 = count = 0
    # while count < 100:
    # count+= 1
    # if count%2 == 0:
    # count1 = count1 + count
    # print(count1)

    # 12. 从键盘接收一百分制成绩(0~100),要求输出其对应的成绩等级A~E。其中,90分以上为'A',80~89分为'B',70~79分为'C',60~69分为'D',60分以下为'E'。(编程题)

    # score = int(input('输入成绩:'))
    # if score >= 90:
    # print("成绩为A")
    # elif score >= 80:
    # print("成绩为B")
    # elif score >= 70:
    # print("成绩为C")
    # elif score >= 60:
    # print("成绩为D")
    # else:
    # print("成绩为E")

    ### 第三套题

    # # 1. "is"和“==”的区别(口述)

    # is是对比地址,==是对比值.
    # is是判断变量是否来自同一对象同一地址。
    # ==是判断值是否相等。

    # 2. 声明变量注意事项有哪些?(口述)

    # 注意变量定义的规则:
    # 1.变量名只能是 字母、数字或下划线的任意组合。
    # 2.变量名的第一个字符不能是数字。
    # 3.关键字不能声明为变量名。
    # 变量名不要过长,最好不要使用中文和拼音,还有不能乱起变量名,比如名不搭意。


    # 3. 深浅copy-引用和copy(),deepcopy()的区别(口述)

    # 1.引用赋值的时候,指向同一个列表地址,如果a列表重新赋予别的列表,b还是指向之前的地址,b列表不改变
    # 如果a列表里的值改变,那么b也会跟着改变。
    # 2.当使用copy()的时候,相当于整个列表包括里面的东西一起完整拷贝给你,不是指向同一个地址,
    # a里面的值改变,b列表不跟着改变。但是如果a列表是嵌套列表,嵌套列表里的值发生变化,拷贝的列表b里的嵌套
    # 列表也会跟着改变,因为列表里的列表是指向同一个地址,相当于1.的情况
    # 3.使用deepcopy()的话,列表里的数地址也会不一样,所以改变列表a里的嵌套列表的数,b也不会跟着改变。

    # 4. 各个数据类型分别是有序的?还是无序的?(口述)

    # 有序:列表、元组、字符串
    # 无序:字典、集合

    # 5. 输入一年份,判断该年份是否是闰年并输出结果。(该程序可以重复使用 使用while True)(编程题)
    # 注:凡符合下面两个条件之一的年份是闰年。 (1) 能被4整除但不能被100整除。 (2) 能被400整除。

    # while True:
    # year = input("输入年份判断是否闰年:(输入q退出)")
    # if year.isdigit() == True:
    # if (int(year)%4 == 0 and int(year)%100 != 0) or (int(year)%400 == 0):
    # print("您输入的是闰年:%s"%(year))
    # else:
    # print("您输入的不是闰年")
    # elif year == 'q':
    # break

    # 6. 有如下字符串:n = "路飞学城"(编程题)
    #
    # - 将字符串转换成utf-8的字符编码,再将转换的字节重新转换为utf-8的字符编码
    # - 将字符串转换成gbk的字符编码,再将转换的字节重新转换为utf-8的字符编码

    # n = "路飞学城"
    # n1 = n.encode('utf-8')
    # print(n1)
    # n = n1.decode('utf-8')
    # print(n)
    # n2 = n.encode('GBK')
    # print(n2)
    # n = n2.decode('GBK').encode('utf-8')
    # print(n)

    # # 7. 将列表['alex', 'steven', 'egon'] 中的每一个元素使用 ‘\_’ 连接为一个字符串(编程)
    # info=['alex', 'steven', 'egon']
    # s1='\_'
    # print(s1.join(info))

    # # 8.自定义两个,并求交集,合集,差集。(编程)
    # a = {1, 2, 3, 4, 5}
    # b = {2, 4, 6, 8, 10}
    # print(a & b)
    # print(a | b)
    # print(a - b)

    # 9. 求100以内不能被3整除的所有数,并把这些数字放在列表sum3=[]里,并求出这些数字的总和和平均数。(计算的时候告诉学员,sum是一个关键词,不能当作变量)(编程)
    # info = range(100)
    # sum3 = []
    # for i in info:
    # if i % 3 == 0:
    # sum3.append(i)
    # count = 0
    # for i in sum3:
    # count = count + i
    # print(sum3)
    # print("总和:%s"%(count))

    # 10. 根据字典内容打印出下面的形式(编程)
    # 可以不打印工整对齐的效果,主要是让学员获取key和value。
    # {"Development":"开发小哥","OP":"运维小哥","Operate":"运营小仙女","UI":"UI小仙女"}
    # 效果如下:
    # 1. 删除了UI
    # 2. 修改了Operate
    #
    # ```
    # Development --- 开发小哥
    # OP --- 运维小哥
    # Operate --- 小仙女
    # ```

    # info = {"Development":"开发小哥","OP":"运维小哥","Operate":"运营小仙女","UI":"UI小仙女"}
    # del info['UI']
    # info['Operate']='小仙女'
    # for k in info:
    # print(k,info[k])

    # 11. 假设一年期定期利率为3.25%,计算一下需要过多少年,一万元的一年定期存款连本带息能翻番?(编程题)
    # money = 10000
    # interest = money
    # count = 0
    # while True:
    # count += 1
    # interest = interest * (1 + 3.25 / 100)
    # if interest // money == 2:
    # print(count)
    # break

    # 12.
    # 对列表进行增删改查(查可以是索引,值是否存在列表当中)。(编程)
    #
    # - ['alex', 'egon', 'wusir', 'wen', 'jing']

    # info = ['alex', 'egon', 'wusir', 'wen', 'jing']
    # #增加
    # info.append('hessen')
    # print(info)
    # #删除
    # info.remove('wen')
    # print(info)
    # del info[-1]
    # print(info)
    # #修改
    # info[1]='hessen'
    # print(info)
    # #查找
    # print(info.index('hessen'))

    ### 剩余题
    # 1. 猜数游戏。预设一个0~9之间的整数,让用户猜一猜并输入所猜的数,如果大于预设的数,显示“太大”;小于预设的数,显示“太小”,如此循环,直至猜中该数,显示“恭喜!你猜中了!(编程题)
    # number = 8
    # while 1:
    # user_guess = input("猜猜年龄数:")
    # if user_guess.isdigit() == True:
    # if number == int(user_guess):
    # print("恭喜!你猜中了!")
    # break
    # elif int(user_guess) > number:
    # print("太大")
    # else:
    # print("太小")

    # 2. 编写一个python程序,输入两个数,比较它们的大小并输出其中较大者。(编程题)
    # print("输入两个数比较大小")
    # info = []
    # while len(info) < 2:
    # number = input('输入数:')
    # if number.isdigit() == False:
    # print("输入错误,请输入数字")
    # continue
    # else:
    # info.append(number)
    # maxnumber=int(info[0])
    # for i in info:
    # if int(i) > maxnumber:
    # maxnumber = int(i)
    # print("%s比较大"%(maxnumber))
    #

    # 3. 有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?(编程题)
    # 程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。
    # 程序源代码:
    #
    # n = [1,2,3,4]
    # n1 = []
    # i = j = k = 0
    # count = 0
    # while i < 4:
    # n2 = n[i]*100
    # i+=1
    # while j<4:
    # n3 = n2+n[j]*10
    # j+=1
    # while k<4:
    # n1.append(n3+n[k])
    # k+=1
    # else:
    # k=0
    # else:
    # j=0
    # n2=n1.copy()
    # for index,i in enumerate(n1):
    # a = n1[index]//100
    # a1 = n1[index]%100//10
    # a3 = n1[index]%10
    # if a == a1 or a == a3 or a1 == a3:
    # n2.remove(i)
    # print(len(n2),n2)

    # 4.
    # # 某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5, 然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。(编程题)
    # data = input("输入4位数:")
    # data = list(''.join(data))
    # for index,i in enumerate(data):
    # data[index] = (int(i) + 5) % 10
    # print(data)
    # data.reverse()
    # print(data)

    #
    # 5. 求100以内的素数和。(编程题)
    # n1 = list(range(2,100))
    # n2 =[]
    # i = 0
    # count = 0
    # count1 = 0
    # while count < 98:
    # if n1[i] % n1[count] == 0:
    # count1+= 1
    # if count == 97 and count1 == 1:
    # n2.append(n1[i])
    # count+= 1
    # if count == 98:
    # i+= 1
    # count1 =count = 0
    # if i == 98:
    # break
    # print(sum(n2))



    # 6. 二进制,十进制,十六进制互相转换(计算题,让学员使用计算器,别用编程的内置方法)
    # 十进制转二进制:bin()
    # 十进制转十六进制:hex()
    # 十进制转八进制:oct()
    # 二进制转10进制:如1010: 相当于8+2=10
    # 十六进制转二进制:如0x9a:相当于10011010 再转10进制就是 对应
    # 1 1 1 1 1 1 1 1
    # 128 64 32 16 8 4 2 1 10011010=128+16+8+2=154

    # 7. python2和python3的默认字符编码(口述)
    # python2默认字符编码是ASCII
    # python3默认编码是unicode

    # 8. 浮点数转换整形(口述)
    # 把小数点后的数去掉,取整数。

    # 9. 计算"21days"字符串的长度。(口述/编程)
    # print(len('21days'))

    # 10. 元祖,列表,字典有没有长度的限制?(口述)
    # 没有

    # 11. 集合的特性(口述)
    # 确定性:元素必须可以hash。互异性:元素不可相同。无序性。

    # 12. 企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;
    # 利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;
    # 20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;
    # 60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,
    # 从键盘输入当月利润I,求应发放奖金总数?(编程)
    # while True:
    # money = input('利润:')
    # if money.isdigit() == True:
    # if int(money) <= 100000:
    # print("奖金为:%s"%(int(money)*10/100))
    # elif int(money) <= 200000:
    # print("奖金为:%s"%(((int(money)-100000)*7.5/100)+100000*10/100))
    # elif int(money) <= 400000:
    # print("奖金为:%s" % (((int(money) - 200000) * 5 / 100)))
    # elif int(money) <= 600000:
    # print("奖金为:%s" % (((int(money) - 400000) * 3/ 100)))
    # elif int(money) <= 1000000:
    # print("奖金为:%s" % (((int(money) - 600000) * 1.5/ 100)))
    # else :
    # print("奖金为:%s" % (((int(money) - 600000) * 1/ 100)))
    # break
    # else:
    # money = input('输入错误,请重新输入:')
  • 相关阅读:
    好看的壁纸网站
    python简介
    python学习之基本语法(1)
    信息系统开发方法
    数据库连接池的使用小结
    软件版本后的字母含义
    信息系统与信息化
    软考
    实施过程中的项目管理
    mysql查SQL执行速度
  • 原文地址:https://www.cnblogs.com/ykugb/p/9101736.html
Copyright © 2011-2022 走看看