搜档网
当前位置:搜档网 › python基础100练习题.docx

python基础100练习题.docx

python基础100练习题.docx
python基础100练习题.docx

实例∣ooι :数字组合

题目有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?程序分析遍历全部可能,把有重复的剃掉。

total=0

for i in ran ge(1,5):

for j in ran ge(1,5):

for k in ran ge(1,5):

if ((i!=j)a nd(j!=k)a nd(k!=i)):

Prin t(i,j,k) total+=1

Prin t(total) 12345678 简便方法用itertools中的PermUtatiOns即可。

import itertools

sum2=0

a=[1,2,3,4]

for i in itertools.permutations(a,3):

Prin t(i) sum2+=1

Prin t(sum2)

12345678

实例∣002 : “个税计算”

题目企业发放的奖金根据利润提成。利润(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,求应发放奖金总数?

程序分析分区间计算即可。

PrOfit=in t(i nput('Show me the mon ey:')) bonus=0

thresholds=[100000,100000,200000,200000,400000]

rates=[0.1,0.075,0.05,0.03,0.015,0.01]

for i in ran ge(le n(thresholds)):

if PrOfit<=thresholds[i]:

bonu s+=profit*rates[i]

PrOfit=0 break else:

bonu s+=thresholds[i]*rates[i]

PrOfit-=thresholds[i]

bonu s+=profit*rates[-1]

Prin t(b OnUS)

1234567891011121314

实例∣003 :完全平方数

题目一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问

该数是多少?

程序分析因为168对于指数爆炸来说实在太小了,所以可以直接省略数学分析,用最朴素的方法来获取上限:

n=0

while (n +1)**2-n*n <=168:

n+=1

print(n+1)

85

123456789

思路是:最坏的结果是n的平方与(n+1)的平方刚好差168 ,由于是平方的关系,不可能存在比这更大的间隙。

至于判断是否是完全平方数,最简单的方法是:平方根的值小数为0即可。

结合起来:

n=0

while (n +1)**2-n*n <=168:

n+=1 for i in ran ge(( n+1)**2):

if i**0.5==int(i**0.5) and (i+168)**0.5==int((i+168)**0.5): Prin t(i-100)

1234567

实例∣004 :这天第几天

题目输入某年某月某日,判断这一天是这一年的第几天?程序分析特殊情况,闰年时需考虑二月多加一天:

def isLeapYear(y):

return (y%400==0 Or (y%4==0 and y%100!=0))

DofM=[0,31,28,31,30,31,30,31,31,30,31,30]

res=0

year =in t(i nput('Year:')) mon th=i nt(i nput('Mo nth:')) day=i nt(i nput('day:')) if isLeapYear(year): DofM[2]+=1

for i in ran ge(m On th):

res+=DofM[i]

Prin t(res+day) 12345678910111213 实例[005 :三数排序题目输入三个整数x,y,z,请把这三个数由小到大输出。程序分析练练手就随便找个排序算法实现一下,偷懒就直接调函数。

raw=[]

for i in ran ge(3):

x=i nt(i nput('i nt%d: '%(i)))

raw.appe nd(x)

for i in ran ge(le n( raw)):

for j in ran ge(i,le n( raw)): if raw[i]>raw[j]: raw[i],raw[j]=raw[j],raw[i]

Prin t(raw)

raw2=[]

for i in ran ge(3):

x=i nt(i nput('i nt%d: '%(i))) raw2.appe nd(x)

Prin t(sorted(raw2))

123456789101112131415161718

实例∣006:斐波那契数列题目斐波那契数列。

程序分析斐波那契数列(Fibo nacci SeqUe nce),从1,1开始,后面每一项等于前面两项之和。图方便就递归实现,图性能就用循环。

#递归实现

def Fib( n):

return 1 if n<=2 else Fib(n-1)+Fib(n-2)

Prin t(Fib(i nt(i nput())))

#朴素实现

target=i nt(i nput())

res=0

a,b=1,1

for i in ran ge(target-1):

a,b=b,a+b

Prin t(a)

12345678910111213

实例∣007: copy

题目将一个列表的数据复制到另一个列表中。程序分析使用列表[:],拿不准可以调用copy模块。

import copy

a = [1,2,3,4,['a','b']]

b = a C = a[:] d = copy.copy(a) a.appe nd(5) a[4].appe nd('c')

Prin t('a=',a)

Prin t('b=',b)

Prin t('c=',c)

Prin t('d=',d)

Prin t('e=',e)

============ RESTART: F:\PyWorkspace\Pytho n100?100examples ?

007.py ============

a= [1,2, 3, 4, ['a', 'b', 'c'], 5]

b= [1,2, 3, 4, ['a', 'b', 'c'], 5]

C= [1,2, 3, 4, ['a', 'b', 'c']]

d= [1,2, 3, 4, ['a', 'b', 'c']]

e= [1,2, 3, 4, ['a', 'b']]

1234567891011121314151617181920212223

实例∣008 :九九乘法表

题目输出9*9乘法口诀表。

程序分析 分行与列考虑,共 9行9列,i 控制行,j 控制列。

for i in ran ge(1,10):

for j in ran ge(1,i+1):

Prin t('%d*%d=%2ld '%(i,j,i*j),e nd='')

Print()

1234

实例∣009:暂停一秒输出

题目暂停一秒输出。

程序分析使用time 模块的sleep()函数。

import time

for i in ran ge(4):

Prin t(str(i nt(time.time()))[-2:])

time.sleep(1)

1234

实例∣010:给人看的时间

题目 暂停一秒输出,并格式化当前时间。

程序分析同009.

import time

for i in ran ge(4):

#赋值

#浅拷贝

#浅拷贝

#深拷贝

e = copy.deepcopy(a)

Print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))

time.sleep(1)

12345

实例∣011:养兔子

题目有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个

月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

程序分析我认为原文的解法有点扯,没有考虑3个月成熟的问题,人家还是婴儿怎么生孩

子?考虑到三个月成熟,可以构建四个数据,其中:一月兔每个月长大成为二月兔,二月兔变三月兔,三月兔变成年兔,成年兔(包括新成熟的三月兔)生等量的一月兔。

month=int(input('繁殖几个月?:'))

mon th_1=1

mon th_2=0

mon th_3=0

mon th_elder=0

for i in ran ge(m On th): mon th_1,m On th_2,m On th_3,m On th_elder=m On th_elder+m On th_3,m On th_1,m On th_2,m On th_el der+m On th_3

Print('第%d个月共'%(i+1),month_1+month_2+mOnth_3+month_elder,' 对兔子')

Print('其中1 月兔:',month_1)

Print('其中2 月兔:',month_2)

Print('其中3 月兔:',month_3)

Print('其中成年兔:',month_elder)

123456789101112

实例∣012 : 100到200的素数

题目判断101-200之间有多少个素数,并输出所有素数。

程序分析判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。用else可以进一步简化代码.

import math

for i in ran ge(100,200):

flag=0

for j in ran ge(2,ro Un d(math.sqrt(i))+1):

if i%j==0:

flag=1

break

if flag:

Con ti nue

Prin t(i)

Prin t('\nSimplify the code With "else"\n') for i in ran ge(100,200):

for j in ran ge(2,ro Un d(math.sqrt(i))+1):

if i%j==0:

break

else:

Prin t(i)

123456789101112131415161718192021

实例∣013:所有水仙花数

题目打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+ 5的三次方+ 3的三次方。程序分析利用for循环控制100-999个数,每个数分解出个位,十位,百位。

for i in ran ge(100,1000):

s=str(i)

On e=i nt(s[-1])

ten=i nt(s[-2])

hun=i nt(s[-3])

if i == On e**3+te n**3+hu n**3:

Prin t(i)

1234567

实例∣014 :分解质因数

题目将一个整数分解质因数。例如:输入90,打印出90=233*5。

程序分析根本不需要判断是否是质数,从2开始向数本身遍历,能整除的肯定是最小的质

数。

target=int(input('输入一个整数:'))

Prin t(target,'= ',e nd=")

if target<0:

target=abs(target)

Prin t('-1*',e nd=")

flag=0

if target<=1:

Prin t(target)

flag=1 while True:

if flag:

break

for i in ran ge(2,i nt(target+1)): if target%i==0:

Prin t("%d"%i,e nd='') if target==i:

flag=1

break

Prin t('*',e nd='') target∕=i break 1234567891011121314151617181920212223242526

实例∣015 :分数归档

题目利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间

的用B表示,60分以下的用C表示。

程序分析用条件判断即可。

points=int(input('输入分数:'))

if Poin ts>=90:

grade='A'

elif poi nts<60:

grade='C'

else:

grade='B'

Prin t(grade)

12345678

实例∣016 :输出日期

题目输出指定格式的日期。

程序分析使用datetime模块。

import datetime

Prin t(datetime.date.today())

Prin t(datetime.date(2333,2,3))

Prin t(datetime.date.today().strftime('%d∕%m∕%Y'))

day=datetime.date(1111,2,3)

day=day.replace(year=day.year+22)

Prin t(day)

1234567

实例∣017 :字符串构成

题目输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。程序分析利用while或for语句,条件为输入的字符不为‘ \n '

String=input("输入字符串:")

alp=0

num=0

spa=0

oth=0

for i in ran ge(le n( Stri ng)):

if Stri ng[i].isspace():

spa+=1

elif Stri ng[i].isdigit():

nu m+=1

elif Stri ng[i].isalpha():

alp+=1

else:

oth+=1

Prin t('space: ',SPa)

Prin t('digit: ' ,num)

Prin t('alpha: ',alp)

Prin t('other: ',oth)

12345678910111213141516171819

实例∣018 :复读机相加

题目求s=a+aa+aaa+aaaa+aa??a 的值,其中a 是一个数字。例如2+22+222+2222+22222(此

Python基础知识笔试

Python基础知识笔试 单选题(2.5分*20题) 1. 下列哪个表达式在Python中是非法的?B A. x = y = z = 1 B. x = (y = z + 1) C. x, y = y, x D. x += y 2. python my.py v1 v2 命令运行脚本,通过from sys import argv如何获得v2的参数值? C A. argv[0] B. argv[1] C. argv[2] D. argv[3] 3. 如何解释下面的执行结果? B

print 1.2 - 1.0 == 0.2 False A. Python的实现有错误 B. 浮点数无法精确表示 C. 布尔运算不能用于浮点数比较 D. Python将非0数视为False 4. 下列代码执行结果是什么? D x = 1 def change(a): x += 1 print x change(x) A. 1 B. 2 C. 3

D. 报错 5. 下列哪种类型是Python的映射类型?D A. str B. list C. tuple D. dict 6. 下述字符串格式化语确的是?D A. 'GNU's Not %d %%' % 'UNIX' B. 'GNU\'s Not %d %%' % 'UNIX' C. 'GNU's Not %s %%' % 'UNIX' D. 'GNU\'s Not %s %%' % 'UNIX' 7. 在Python 2.7中,下列哪种是Unicode编码的书写方式?C A. a = ‘中文’ B. a = r‘中文’ C. a = u’中文’

Python程序设计课后习题答案-第一单元

习题1 一、选择题 1.Python语言属于()。C A.机器语言B.汇编语言C.高级语言 D.科学计算语言 2.下列选项中,不属于Python特点的是()。B A.面向对象B.运行效率高C.可读性好 D.开源 3.Python程序文件的扩展名是()。D A..python B..pyt C..pt D..py 4.以下叙述中正确的是()。C A.Python 与Python 兼容 B.Python语句只能以程序方式执行 C.Python是解释型语言

D.Python语言出现得晚,具有其他高级语言的一切优点 5.下列选项中合法的标识符是()。A A._7a_b B.break C._a$b D.7ab 6.下列标识符中合法的是()。B A.i'm B._ C.3Q D.for 7.Python不支持的数据类型有()。A A.char B.int C.float D.list 8.关于Python中的复数,下列说法错误的是()。B A.表示复数的语法形式是a+bj B.实部和虚部都 必须是浮点数 C.虚部必须加后缀j,且必须是小写 D.函数abs()可 以求复数的模

9.函数type(1+0xf*的返回结果是()。D A. B. C. D. 10.字符串s='a\nb\tc',则len(s)的值是()。C A.7 B.6 C.5 D.4 11.Python语句print(0xA+0xB)的输出结果是()。D A.0xA+0xB B.A+B C.0xA0xB D.21 12.下列属于math库中的数学函数的是()。C A.time() B.round() C.sqrt() D.random() 13.Python表达式中,可以使用()控制运算的优先顺序。 A A.圆括号() B.方括号[] C.大括号{} D.尖括号<>

python基础100练习题

题目有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?程序分析遍历全部可能,把有重复的剃掉。 total=0 for i in range(1,5): for j in range(1,5): for k in range(1,5): if ((i!=j)and(j!=k)and(k!=i)): print(i,j,k) total+=1 print(total) 12345678 简便方法用itertools中的permutations即可。 import itertools sum2=0 a=[1,2,3,4] for i in itertools.permutations(a,3): print(i) sum2+=1 print(sum2) 12345678 实例002:“个税计算” 题目企业发放的奖金根据利润提成。利润(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,求应发放奖金总数?程序分析分区间计算即可。 profit=int(input('Show me the money: ')) bonus=0 thresholds=[100000,100000,200000,200000,400000] rates=[0.1,0.075,0.05,0.03,0.015,0.01] for i in range(len(thresholds)): if profit<=thresholds[i]: bonus+=profit*rates[i] profit=0 break else: bonus+=thresholds[i]*rates[i] profit-=thresholds[i] bonus+=profit*rates[-1] print(bonus) 14

python基础习题集

python基础习题集

python基础习题集 1.执行Python 脚本的两种方式解释器:python 脚本名.py直接运行:linux下给全部权限,然后再终端中输入./脚本名.py 2.简述位、字节的关系8位=1字节 3.简述ascii、unicode、utf--‐8、gbk 的关系Ascii是最早的一套编码,后来国人扩展了Ascii表,制出了CB2312编码表,后来又扩展到了GBK编码表。后来又有了GB18030。后来国际化标准组织为了规范化编码标准,研究出了unicode编码。经过一系列进化,发展到了可变长的utf-8编码 4.请写出“李杰”分别用utf--‐8 和gbk 编码所占的位数Utf-8:6位gbk:4位 5.Pyhton 单行注释和多行注释分别用什么?单行注释:#注释的内容多行注释:'''注释的内容''' 6.声明变量注意事项有那些?1、不能以数字开头2、只能是字母、数字或下划线的任意组合,但不能有特殊字符3、关键字通常不能声明为变量 7.如何查看变量在内存中的地址?Id(变量名) 8.执行Python 程序时,自动生成的.pyc 文件的作用是什么?pyc 是由py文件经过编译后二进制文件,使用pyc的加载速度快,而且跨平台。9、写代码 a.实现用户输入用户名和密码,当用户名为seven 且密码为123 时,显示登陆成功,否则登陆失败!Name =input(“Please input your name !”)Passwd =

int(input(“Please input you password !”))if Name == “seven”and Passwd ==123: print(“Welcome!”)else: print(“The name or password is wrong!”)b.实现用户输入用户名和密码,当用户名为seven 且密码为123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次for i in range(4): Name =input(“Please input your name !”) Passwd = int(input(“Please input you password !”)) if Name == “seven”and Passwd ==123: print(“Welcome!”) break else: print(“Please input agin!”)c.实现用户输入用户名和密码,当用户名为seven 或alex 且密码为123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次for i in range(4): Name =input(“Please input your name !”) Passwd = int(input(“Please input you password !”)) if (Name == “seven”or Name == “alex”)and Passwd ==123: Print(“Welcome!”) break else: print(“Please input agin!!”) 10、写代码a. 使用while 循环实现输出2 --‐3 + 4 --‐5 + 6 ... + 100 的和i=2t=0While i100: if i%2 == 1: t -= i else: t += i i += 1 print(t)b. 使用for 循环和range 实现输出1 --‐ 2 + 3 --‐ 4 + 5 --‐ 6 ... + 99 的和t=0for i in range(1,100): if i%2 == 1: t += i else: t -= i print(t)c. 使用while 循环实现输出1,2,3,4,5,7,8,9,11,12i=1while i 12: if i == 6 or i ==10: pass else: print(i) i += 1 d. 使用

python 基础练习题

Advanced computation linguistics 1. Collect the most frequent words in 5 genres of Brown Corpus: news, adventure, hobbies, science_fiction, romance To collect most frequent words from the given genres we can follow the following steps: >>> import nltk >>> from nltk.corpus import brown >>> brown.categories() ['adventure', 'belles_lettres', 'editorial', 'fiction', 'government', 'hobbies', 'humor', 'learned', 'lore', 'mystery', 'news', 'religion', 'reviews', 'romance' , 'science_fiction'] >>> news_text = brown.words(categories=['news','adventure','hobbies','science_fi ction','romance']) >>> from nltk.probability import FreqDist >>> fdist=FreqDist([w.lower() for w in news_text]) >>> voca=fdist.keys() >>> voca[:50] ['the', ',', '.', 'and', 'of', 'to', 'a', 'in', 'he', "''", '``', 'was', 'for', 'that', 'it', 'his', 'on', 'with', 'i', 'is', 'at', 'had', '?', 'as', 'be', 'you ', ';', 'her', 'but', 'she', 'this', 'from', 'by', '--', 'have', 'they', 'said', 'not', 'are', 'him', 'or', 'an', 'one', 'all', 'were', 'would', 'there', '!', ' out', 'will'] >>> voca1=fdist.items() >>> voca1[:50] [('the', 18635), (',', 17215), ('.', 16062), ('and', 8269), ('of', 8131), ('to', 7125), ('a', 7039), ('in', 5549), ('he', 3380), ("''", 3237), ('``', 3237), ('w as', 3100), ('for', 2725), ('that', 2631), ('it', 2595), ('his', 2237), ('on', 2 162), ('with', 2157), ('i', 2034), ('is', 2014), ('at', 1817), ('had', 1797), (' ?', 1776), ('as', 1725), ('be', 1610), ('you', 1600), (';', 1394), ('her', 1368) , ('but', 1296), ('she', 1270), ('this', 1248), ('from', 1174), ('by', 1157), (' --', 1151), ('have', 1099), ('they', 1093), ('said', 1081), ('not', 1051), ('are ', 1019), ('him', 955), ('or', 950), ('an', 911), ('one', 903), ('all', 894), (' were', 882), ('would', 850), ('there', 807), ('!', 802), ('out', 781), ('will', 775)] This means that the frequency of word “the” is more than others. 2. Exclude or filter out all words that have a frequency lower than 15 occurrencies. (hint using conditional frequency distribution) By adding functionalities on the first task of collecting words based on their frequency of

python练习题

Python 随堂练习 说明: 1.作业分为“基础要求”和“进阶要求” 2.作业首先要在本地完成,然后可以设计在蓝鲸应用中,以 3.交互的方式完成作业,可创意发挥。如:第8题,点击运行后,即可生存图片。若无法 在蓝鲸APP中实习,请在作业中附上代码以及执行结果截图。 4.13小题有条件的同学/协会可以试试。问答题,思考后,再运行。 5.前端设计方面,可参考bootstrap中的一些控件。 一、基础要求 1.print repr(u'中国') 的运行结果是什么? 2.什么是lambda函数?并列举一个使用lambda函数的例子 3.Excel操作 将 { "1":["张三",150,120,100], "2":["李四",90,99,95], "3":["王五",60,66,68] } 写入excel如下所示: 4.简述对Python装饰器的理解,写一个简单的装饰器。 5.生成100个随机数,保存到Redis非关系型数据库中 6.写结果,说明原因 if 1 in [1,0] == True: print …a? Else: Print …b? 7.用Python写一个程序,拉取SVN上的某一个文件,修改后并提交该文件。(请与蓝鲸给开发者的SVN结合起来) 8.用Python画出y=x3的散点图

9.用Python爬取知乎热门帖的标题,并存储到MySQL中(涉及django的model知识点) 二、进阶要求 10.Python 中数组套字典的排序(用lambda实现) dict = [ {'id':'4','name':'b'}, {'id':'6','name':'c'}, {'id':'3','name':'a'}, {'id':'1','name':'g'}, {'id':'8','name':'f'} ] 排序后:[{'id': '1', 'name': 'g'}, {'id': '3', 'name': 'a'}, {'id': '4', 'name': 'b'}, {'id': '6', 'name': 'c'}, {'id': '8', 'name': 'f'}] 11.利用python计算文件MD5值 (从前台上传一个文件,后台计算MD5值后,返给前端) 12.密码加密小工具 (对于部分喜欢将自己密码存在邮箱、网盘等容易被盗的朋友,可以自己记住一个唯一的密钥,通过这个小程序和密钥产生一串加密密文再存储,减少密码被盗几率。提示:Crypto 库 a.输入自己的秘钥:123456, b.选择是: encrypt 或者decrypt, c. 输出:加密后的密文,或者解密后的明文)

python笔试题

Python基础知识笔试 、单选题(2.5分*20题) 1. 下列哪个表达式在Python中是非法的?B A. x = y = z = 1 B. x = (y = z + 1) C. x, y = y, x D. x += y 2. python my.py v1 v2 命令运行脚本,通过from sys import argv 如何获得v2的参数值? C A. argv[0] B. argv[1] C. argv[2] D. argv[3] 3. 如何解释下面的执行结果? B print 1.2 - 1.0 == 0.2 False A. Python的实现有错误 B. 浮点数无法精确表示 C. 布尔运算不能用于浮点数比较 D. Python将非0数视为False 4. 下列代码执行结果是什么? D def cha nge(a):

x+= 1 print x cha nge(x) A. 1 B. 2 C. 3 D. 报错 5. 下列哪种类型是Python的映射类型?D A. str B. list C. tuple D. dict 6. 下述字符串格式化语法正确的是? D A. 'GNU's Not %d %%' % 'UNIX' B. 'GNU\'s Not %d %%' % 'UNIX' C. 'GNU's Not %s %%' %'UNIX' D. 'GNU\'s Not %s %%' %'UNIX' 7. 在Python 2.7中,下列哪种是Unicode编码的书写方式?C A. a = 中文’ B. a = r中文’

C. a = u 中文' D. a = b '中文' 8. F 列代码的运行结果是? D prin t 'a' < 'b' < 'c' A. B. C. D. True E. False 9. F 列代码运行结果是? C print a > 'b' or 'c' A. a B. b C. c D. True E. False 10. 下列哪种不是 A. ⑴ B. (1,) C. (1,2) D. (1,2, (3, 4)) a = 'a' Python 元组的定义方式? A

Python期末复习题(必考)

2018-2019学年第一学期python练习专业、班级:__________ 学号:____________姓名:____________ Python语言基础 一、单选题 1.在Python中,合法的标识符是【】。 A. _ B. 3C C. it's D. str 2. Python表达式中,可以使用【】控制运算的优先顺序。 A.圆括号() B.方括号[] C.花括号{} D.尖括号<> 3.以下Python注释代码,不正确的是【】。 A. #Python注释代码 B. #Python注释代码1 #Python注释代码2 C. """Python文档注释""" D. //Python 注释代码 4.为了给整型变量x、y、z赋初值10,下面正确的Python赋值语句是【】。 A. xyz=10 B. x=10y=10z=10 C. x=y=z=10 D. x=10,y=10,z=10 5.为了给整型变量x、y、z赋初值5,下面正确的Python赋值语句是【】。 A. x=5;y=5;z=5 B. xyz=5 C. x,y,z= 5 D. x=5,y=5,z=5 6.已知x=2;y=3,复合赋值语旬x*=y+5执行后,x变量中的值是【】。 A. 11 B.16 C.13 D.26 7.整型变量x中存放了一个两位数,要将这个两位数的个位数字和十位数字交换位置,例如,13变成31,正确的Python表达式是【】。 A. (x%10)*10+x//10 B. (x%10)//10+x//10 C. (x/10)%10+x//10 D. (x%10)*10+x%10 二、填空题 1. Python中如果语句太长,可以使用作为续行符。 2. Python中在一行书写两条语句时,语句之间可以使用作为分隔符。 3. Python使用符号标示注释。 3. Python 表达式 4.5/2的值为。 4. Python表达式4.5//2的值为。 5. Python 表达式4.5%2的值为。 6. Python 表达式12/4-2+5*8/4%5/2的值为。 7. Python 语句a,b=3,4; a,b= b,a; print(a,b)的结果是。 8.已知x=5;y=6,复合赋值语旬x*=y+10执行后,x变量中的值是。 9. 写出下面程序的执行结果__________________。 x=345 a=x//100

Python基础+练习

1.什么是python? python是一种解释型的、面向对象的、带有动态语义的高级程序设计语言。 2.python的优点 创始人评价:简单、优雅、明确 简单体现在如果你的母语是英语,写python脚本就像写文章,很简单; 优雅体现在python的格式,比如缩进来确定代码块,可避免编程人员进行复杂的嵌套; 明确体现在解决问题的方法只有一种最优选项,而perl语言是每个问题有很多最优解,但不利于团队协作; 有强大的第三方库模块,需要实现一复杂功能,只需要调用现有的库,可快速实现功能。20多年的发展,各种库都已经完备,比如:邮件库,爬虫库...... 可跨平台移植,java有Java的虚拟机,python同样; 是一种面向对象的语言; 是一种可扩展的语言(与C,C++,Java结合) 3.python的缺点 代码执行速度慢,相比C语言,不过现在python的异步并发框架导致执行速度慢; python是开源的编程语言,代码不能加密,当然有相应的工具可以将python代码转换为exe的二进制可执行码,但是反解码也很容易;

4.python的使用 1)交互式使用 2)脚本使用 测试: /usr/bin/env python ##会直接读取你当前的python版本,然后执行 /usr/bin/python ##仅仅只会读取编写的版本 coding:utf-8 ##转译中文

coding=utf-8 encoding:utf-8 encoding=utf-8 5.字符编码: ACCII:1字节=8位,2^8=256 Unicode:2字节=16位,2^16=65536 英文-> 2字节中文-> 2字节 utf-8:英文->1 字节,中文->3字节 GB2312:2字节 内存读取:Unicode 存在硬盘:utf-8 字符的编码(encode): unicode->utf-8 ##都是2字节,提升效率 字符的解码(decode): utf-8->unicode ##英文1字节,中文3字节,节省空间 >>> name_unicode = u"hello" >>> type(name_unicode) >>> name_utf8 = name_unicode.encode('utf-8') >>> type(name_utf8)

python基础100练习题

实例001:数字组合 题目有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?程序分析遍历全部可能,把有重复的剃掉。 total=0 for i in range(1,5): for j in range(1,5): for k in range(1,5): if ((i!=j)and(j!=k)and(k!=i)): print(i,j,k) total+=1 print(total) 12345678 简便方法用itertools中的permutations即可。 import itertools sum2=0 a=[1,2,3,4] for i in itertools.permutations(a,3): print(i) sum2+=1 print(sum2) 12345678 实例002:“个税计算” 题目企业发放的奖金根据利润提成。利润(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,求应发放奖金总数?程序分析分区间计算即可。 profit=int(input('Show me the money: ')) bonus=0 thresholds=[100000,100000,200000,200000,400000] rates=[0.1,0.075,0.05,0.03,0.015,0.01] for i in range(len(thresholds)): if profit<=thresholds[i]: bonus+=profit*rates[i] profit=0 break else: bonus+=thresholds[i]*rates[i] profit-=thresholds[i] bonus+=profit*rates[-1]

python选择题word打印版

一、python语法基础 1、 Python 版本的保留字总数是 , 不是 以下选项中 2.语言保留字的是 Python A while B pass C do D except Python 关于 , 程序格式框架 3.以下选项中描述错误的是 A Python 语言不采用严格的“缩进”来表明程序的格式框架 B Python 单层缩进代码属于之前最邻近的一行非缩进代码,多层缩进代码根据缩进关系决定所属范围 C Python 语言的缩进可以采用 Tab 键实现 D 判断、循环、函数等语法形式能够通过缩进包含一批 Python 代码,进而表达对应的语义 4. 下列选项中不符合Python语言变量命名规则的是 A TempStr B I C 3_1 D _AI 以下选项中 , 5.字符串的描述错误的是 Python 关于 A Python语言中,字符串是用一对双引号""或者一对单引号 '' 括起来的零个或者多个字符 B 字符串包括两种序号体系:正向递增和反向递减 C 字符串是字符的序列,可以按照单个字符或者字符片段进行索引 D Python字符串提供区间访问方式,采用[N:M]格式,表示字符串中从N到M的索引子字符串(包含N和M) 6.给出如下代码 TempStr ="Hello World" 可以输出“World”子串的是 A . print(TempStr[–5:0]) B print(TempStr[–5:]) C print(TempStr[–5: –1]) D print(TempStr[–4: –1]) 7. 关于赋值语句,以下选项中描述错误的是 A a,b = b,a 可以实现a 和 b值的互换 B a,b,c = b,c,a 是不合法的 C在Python语言中,“=”表示赋值,即将“=”右侧的计算结果赋值给左侧变量,包含“=”的语句称为赋值语句 D 赋值与二元操作符可以组合,例如&= eval 关于 , 8.以下选项中描述错误的是 函数 A eval函数的定义为:eval(source, globals=None, locals=None, /) B 执行“>>> eval("Hello")”和执行“>>> eval("'Hello'")”得到相同的结果 C eval函数的作用是将输入的字符串转为Python语句,并执行该语句 D 如果用户希望输入一个数字,并用程序对这个数字进行计算,可以采用eval(input(<输入提示字符串>))组合 关于 9.以下选项中描述错误的是 Python 语言的注释 , A Python语言有两种注释方式:单行注释和多行注释 B Python语言的单行注释以#开头

Python基本操作题

1.请补充横线处的代码,让Python 帮你随机选一个饮品吧! import ____①____ (1) listC = ['加多宝','雪碧','可乐','勇闯天涯','椰子汁'] print(random. ____②____ (listC)) 参考答案: import random (1) listC = ['加多宝','雪碧','可乐','勇闯天涯','椰子汁'] print(listC)) 2.请补充横线处的代码,listA中存放了已点的餐单,让Python帮你增加一个“红烧肉”,去掉一个“水煮干丝”。 listA = ['水煮干丝','平桥豆腐','白灼虾','香菇青菜','西红柿鸡蛋汤'] listA. ____①____ ("红烧肉") ②____ ("水煮干丝") print(listA) 参考代码: listA = ['水煮干丝','平桥豆腐','白灼虾','香菇青菜','西红柿鸡蛋汤'] ("红烧肉") ("水煮干丝") print(listA) 3.请补充横线处的代码。dictMenu中存放了你的双人下午套餐(包括咖啡2份和点心2份)的价格,让Python帮忙计算并输出消费总额。 dictMenu = {'卡布奇洛':32,'摩卡':30,'抹茶蛋糕':28,'布朗尼':26} ___①____ for i in ____②____: sum += i print(sum) 参考代码: dictMenu = {'卡布奇洛':32,'摩卡':30,'抹茶蛋糕':28,'布朗尼':26} sum = 0 for i in (): sum += i print(sum) 4.获得输入正整数 N,反转输出该正整数,不考虑异常情况。 参考代码: N = input() print(N[::-1]) 5. 给定一个数字123456,请采用宽度为25、右对齐方式打印输出,使用加号“+”填充。 参考代码: print("{:+>25}".format(123456)) 6.给定一个数字.9,请增加千位分隔符号,设置宽度为30、右对齐方式打印输出,使用空格填充。 参考代码:

Python100经典练习题

#!/usr/bin/env python #coding: utf-8 ''' 【程序1】 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。 2.程序源代码: ''' for i in range(1,5): for j in range(1,5): for k in range(1,5): if( i != k ) and (i != j) and (j != k): print i,j,k ''' 【程序2】 题目:企业发放的奖金根据利润提成。利润(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,求应发放奖金总数? 1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。 2.程序源代码: ''' bonus1 = 100000 * 0.1 bonus2 = bonus1 + 100000 * 0.500075 bonus4 = bonus2 + 200000 * 0.5 bonus6 = bonus4 + 200000 * 0.3 bonus10 = bonus6 + 400000 * 0.15 i = int(raw_input('input gain:\n')) if i <= 100000: bonus = i * 0.1 elif i <= 200000: bonus = bonus1 + (i - 100000) * 0.075 elif i <= 400000: bonus = bonus2 + (i - 200000) * 0.05 elif i <= 600000: bonus = bonus4 + (i - 400000) * 0.03 elif i <= 1000000: bonus = bonus6 + (i - 600000) * 0.015 else: bonus = bonus10 + (i - 1000000) * 0.01 print 'bonus = ',bonus ''' 【程序3】 题目:一个整数,它加上100后是一个完全平方数,再加上268又是一个完全平方数,请问该数是多少? 1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后 的结果满足如下条件,即是结果。请看具体分析: 2.程序源代码: #include "math.h" main() { long int i,x,y,z;

Python基础测试题

Python 基础测试题 一、填空题(每题 2 分,共 20分) 1、Python 提供了两个对象身份比较操作符 _______ 和 _______ 来测试两 个变量是否指向同一个对象, 也可以通过内建函数 _______ 来测试对象的类型。 2、在 Python 中 _______ 表示空类型。 3、列表、元组、字符串是 Python 的 _______ (有序?无序 ) 序列。 4、表达式“ [3] in [1, 2, 3, 4] ”的值为 _______________________ 。 5、已知 x = 3,那么执行语句 x *= 6 之后, x 的值为 6、任意长度的 Python 列表、元组和字符串中最后一个元素的下标为 ____ 7、表达式 'abcab'.replace ('a','yy') 的值为 ________________ 。 8、字典对象的 __________ 方法返回字典中的“键 - 值对”列表。 9、表达式 'ab' in 'acbed' 的值为 _____________ 。 10、表达式 'aaasdf'.strip('af') 的值为 二、选择题:(每题 2分,共 30 分) 1.下列哪个语句在 Python 中是非法的( ) A. x = y = z = 1 B. x = (y = z + 1) 2、Python 语言语句块的标记是( A. 分号 B.逗号 3、下列哪种说法是错误的( ) A. 除字典类型外,所有标准对象均可以用于布尔测试 B. 空字符串的布尔值是 False C. 空列表对象的布尔值是 False D. 值为 0 的任何数字对象的布尔值是 False 4、以下是字符转换成字节的方法是( )。 A . decode () B .encode () C . upper () D .rstrip () C. x, y = y, x )。 C.缩进 D. x += y D. /

Python基础测试题

Python基础测试题 一、填空题(每题2分,共20分) 1、Python提供了两个对象身份比较操作符_________和________来测试两 个变量是否指向同一个对象,也可以通过内建函数_________来测试对象的类型。 2、在Python中__________表示空类型。 3、列表、元组、字符串是Python的_________(有序?无序)序列。 4、表达式“[3] in [1, 2, 3, 4]”的值为_______________。 5、已知x = 3,那么执行语句x *= 6 之后,x的值为 _______________。 6、任意长度的Python列表、元组和字符串中最后一个元素的下标为_______。 7、表达式'abcab'.replace('a','yy') 的值为___________。 8、字典对象的____________方法返回字典中的“键-值对”列表。 9、表达式 'ab' in 'acbed' 的值为_____________。 10、表达式 'aaasdf'.strip('af') 的值为_____________。 二、选择题:(每题2分,共30分) 1.下列哪个语句在Python中是非法的()。 A. x = y = z = 1 B. x = (y = z + 1) C. x, y = y, x D. x += y 2、Python语言语句块的标记是()。 A.分号 B.逗号 C.缩进 D. / 3、下列哪种说法是错误的()。 A. 除字典类型外,所有标准对象均可以用于布尔测试 B. 空字符串的布尔值是False C. 空列表对象的布尔值是False D. 值为0的任何数字对象的布尔值是False 4、以下是字符转换成字节的方法是()。 A.decode() B.encode() C.upper() D.rstrip()

python 笔试题

Python基础知识笔试 一、单选题(2.5分*20题) 1. 下列哪个表达式在Python中是非法的? B A. x = y = z = 1 B. x = (y = z + 1) C. x, y = y, x D. x += y 2. python my.py v1 v2 命令运行脚本,通过 from sys import argv如何获得v2的参数值? C A. argv[0] B. argv[1] C. argv[2] D. argv[3] 3. 如何解释下面的执行结果? B print 1.2 - 1.0 == 0.2 False A. Python的实现有错误 B. 浮点数无法精确表示 C. 布尔运算不能用于浮点数比较 D. Python将非0数视为False 4. 下列代码执行结果是什么? D

x = 1 def change(a): x+= 1 print x change(x) A. 1 B. 2 C. 3 D. 报错 5. 下列哪种类型是Python的映射类型? D A. str B. list C. tuple D. dict 6. 下述字符串格式化语法正确的是? D A. 'GNU's Not %d %%' % 'UNIX' B. 'GNU\'s Not %d %%' % 'UNIX' C. 'GNU's Not %s %%' % 'UNIX' D. 'GNU\'s Not %s %%' % 'UNIX' 7. 在Python 2.7中,下列哪种是Unicode编码的书写方式?C A. a = ‘中文’ B. a = r‘中文’

C. a = u’中文’ D. a = b’中文’ 8. 下列代码的运行结果是? D print 'a' < 'b' < 'c' A. a B. b C. c D. True E. False 9. 下列代码运行结果是? C a = 'a' print a > 'b' or 'c' A. a B. b C. c D. True E. False 10. 下列哪种不是Python元组的定义方式? A A. (1) B. (1, ) C. (1, 2) D. (1, 2, (3, 4))

经典Python面试题之Python基础篇

经典Python面试题之Python基础篇 1. 为什么学习Python? 2. 通过什么途径学习的Python? 3. Python和Java、PHP、C、C#、C++等其他语言的对比? 4. 简述解释型和编译型编程语言? 5. Python解释器种类以及特点? 6. 位和字节的关系? 7. b、B、KB、MB、GB 的关系? 8. 请至少列举5个 PEP8 规范(越多越好)。 9. 通过代码实现如下转换: 二进制转换成十进制:v = “0b1111011” 十进制转换成二进制:v = 18 八进制转换成十进制:v = “011” 十进制转换成八进制:v = 30 十六进制转换成十进制:v = “0x12” 十进制转换成十六进制:v = 87 10. 请编写一个函数实现将IP地址转换成一个整数。 如 10.3.9.12 转换规则为: 10 00001010 3 00000011 9 00001001

12 00001100 再将以上二进制拼接起来计算十进制结果:00001010 00000011 00001001 00001100 = ? 11. python递归的最大层数? 12. 求结果: v1 = 1 or 3 v2 = 1 and 3 v3 = 0 and 2 and 1 v4 = 0 and 2 or 1 v5 = 0 and 2 or 1 or 4 v6 = 0 or Flase and 1 13. ascii、unicode、utf-8、gbk 区别? 14. 字节码和机器码的区别? 15. 三元运算规则以及应用场景? 16. 列举 Python2和Python3的区别? 17. 用一行代码实现数值交换: a = 1 b = 2 18. Python3和Python2中 int 和 long的区别? 19. xrange和range的区别? 20. 文件操作时:xreadlines和readlines的区别? 21. 列举布尔值为False的常见值?

相关主题