赞
踩
【说明1】本文练习题均整理自imooc教程初识Python(课程已下架),可学习Python3 入门教程 2020全新版,答案为原创,用于个人学习与巩固,如有更好方案,欢迎大神赐教!
【说明2】本教程基于Python2.x,与Python3.7有细微差别
========================================================
1.计算十进制整数 45678 和十六进制整数 0x12fd2 之和。
print 45678+0x12fd2
2.请用两种方式打印出 hello, python.
#input code
print 'hello, python.'
print 'hello,''python.'
3.等差数列可以定义为每一项与它的前一项的差等于一个常数,可以用变量 x1 表示等差数列的第一项,用 d 表示公差,请计算数列1 4 7 10 13 16 19 …前 100 项的和。
x1 = 1
d = 3
n = 100
x100 = x1+(n-1)*d
s = n*x1+(n*(n-1)*d)/2
print s
4.请将下面两行内容用Python的字符串表示并打印出来:
Python was started in 1989 by “Guido”.
Python is free and easy to learn.
s = 'Python was started in 1989 by "Guido".\nPython is free and easy to learn.'
print s
5.请把下面的字符串用r’’’…’’'的形式改写,并用print打印出来:
‘“To be, or not to be”: that is the question.\nWhether it’s nobler in the mind to suffer.’
print r'''"To be, or not to be": that is the question.
Whether it's nobler in the mind to suffer.'''
6.用多行Unicode字符串表示下面的唐诗并打印:
静夜思
床前明月光,
疑是地上霜。
举头望明月,
低头思故乡。
# -*- coding: utf-8 -*-
print '''静夜思
床前明月光,
疑是地上霜。
举头望明月,
低头思故乡。'''
7.请计算 2.5 + 10 / 4 ,并解释计算结果为什么不是期望的 5.0 ?
请修复上述运算,使得计算结果是 5.0
print 2.5 + 10 / 4.0
整数运算的结果永远是整数;整数与浮点数的运算结果是浮点数
Python3.7中10/4结果是2.5
8.请运行如下代码,并解释打印的结果:
a = ‘python’
print ‘hello,’, a or ‘world’
b = ‘’
print ‘hello,’, b or ‘world’
布尔类型运算规律:
① Python将 0 、空字符串’' 、None 看做 False
② Python将 非0数值 、非空字符串 看做 True
9.假设班里有3名同学:Adam,Lisa和Bart,他们的成绩分别是 95.5,85 和 59,请按照 名字, 分数, 名字, 分数… 的顺序按照分数从高到低用一个list表示,然后打印出来。
L = ['Adam',95.5,'Lisa', 85, 'Bart', 59]
print L
10.三名同学的成绩可以用一个list表示:
L = [95.5, 85, 59]
请按照索引分别打印出第一名、第二名、第三名,同时测试 print L[3]。
L = [95.5,85,59]
print L[0]
print L[1]
print L[2]
11.三名同学的成绩可以用一个list表示:
L = [95.5, 85, 59]
请按照倒序索引分别打印出倒数第一、倒数第二、倒数第三。
L = [95.5, 85, 59]
print L[-1]
print L[-2]
print L[-3]
12.假设新来一名学生Paul,Paul 同学的成绩比Bart好,但是比Lisa差,他应该排到第三名的位置,请用代码实现。
L = ['Adam', 'Lisa', 'Bart']
L.insert(2,'Paul')
print L
13.注意右边编辑器代码中 list 如下:
L = [‘Adam’, ‘Lisa’, ‘Paul’, ‘Bart’]
Paul的索引是2,Bart的索引是3,如果我们要把Paul和Bart都删掉,请解释下面的代码为什么不能正确运行:
L.pop(2)
L.pop(3)
怎样调整代码可以把Paul和Bart都正确删除掉?
L = ['Adam', 'Lisa', 'Paul', 'Bart']
L.pop(2)
L.pop(2)
print L
14.班里的同学按照分数排名是这样的:
L = [‘Adam’, ‘Lisa’, ‘Bart’]
但是,在一次考试后,Bart同学意外取得第一,而Adam同学考了倒数第一。
请通过对list的索引赋值,生成新的排名。
L = ['Adam', 'Lisa', 'Bart']
L[-1]='Adam'
L[0]='Bart'
print L
15.请指出右边编辑器中代码为什么没有创建出包含一个学生的 tuple:
t = (‘Adam’)
print t
请修改代码,确保 t 是一个tuple。
t = ('Adam',)
print t
因为()既可以表示tuple,又可以作为括号表示运算时的优先级;因此单元素的tuple需在末尾多加一个逗号
16.定义了tuple:
t = (‘a’, ‘b’, [‘A’, ‘B’])
由于 t 包含一个list元素,导致tuple的内容是可变的。能否修改上述代码,让tuple内容不可变?
t = ('a', 'b', ('A', 'B'))
print t
含有list元素的tuple,list内部元素可变
17.如果按照分数划定结果:
90分或以上:excellent
80分或以上:good
60分或以上:passed
60分以下:failed
请编写程序根据分数打印结果。
score = 85
if score>=90:
print 'excellent'
elif score>=80:
print 'good'
elif score>=60:
print 'passed'
else:
print 'failed'
18.班里考试后,老师要统计平均成绩,已知4位同学的成绩用list表示如下:
L = [75, 92, 59, 68]
请利用for循环计算出平均成绩。
L = [75, 92, 59, 68]
sum = 0.0
for score in L:
sum=sum+score
print sum / 4
python3.7中可用mod()函数计算list的平均值:
import numpy
print(numpy.mod([75,92,59,68]))
for循环
① 变量可以在for循环中定义
② for循环可以遍历list和tuple
19.利用while循环计算100以内奇数的和。
m=100
n=1
sum=0
while n < m and n%2!=0:
sum=sum+n
n=n+2
print sum
while循环
① while不会迭代list和tuple元素,而是根据表达式判断循环是否结束
② 变量需在while循环外进行定义
③ 必须要有循环的退出条件(while后边的表达式)或break
20.利用 while True 无限循环配合 break 语句,计算 1 + 2 + 4 + 8 + 16 + … 的前20项的和。
sum = 0
x = 1
n = 1
while True:
sum=sum+2**(n-1)
n=n+1
if n>20:
break
print sum
==退出循环:break ==
等差数列求和
21.对已有的计算 0 - 100 的while循环进行改造,通过增加 continue 语句,使得只计算奇数的和:
sum = 0
x = 1
while True:
sum = sum + x
x = x + 1
if x > 100:
break
print sum
sum = 0
x = 1
while True:
x=x+1
if x%2==0:
continue
elif x > 100:
break
else:
sum=sum+x
print sum+1
继续循环:continue
22.对100以内的两位数,请使用一个两重循环打印出所有十位数数字比个位数数字小的数,例如,23(2 < 3)。
for x in [1,2,3
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。