内容发布更新时间 : 2024/12/22 19:07:20星期一 下面是文章的全部内容请认真阅读。
之间的元素组成的子列表。例如用户输入[1, 2, 3, 4, 5, 6]和2,5,程序输出[3, 4, 5, 6]。
答:
1)Python 3.4.2代码
x = input('Please input a list:') x = eval(x)
start, end = eval(input('Please input the start position and the end position:')) print(x[start:end])
2)Python 2.7.8代码
x = input('Please input a list:')
start, end = input('Please input the start position and the end position:') print x[start:end]
2.6 列表对象的sort()方法用来对列表元素进行原地排序,该函数返回值为 None 。 2.7 列表对象的 remove() 方法删除首次出现的指定元素,如果列表中不存在要删除的元素,则抛出异常。
2.8 假设列表对象aList的值为[3, 4, 5, 6, 7, 9, 11, 13, 15, 17],那么切片aList[3:7]得到的值是 [6, 7, 9, 11] 。
2.9 设计一个字典,并编写程序,用户输入内容作为“键”,然后输出字典中对应的“值”,如果用户输入的“键”不存在,则输出“您输入的键不存在!”
答:
1)Python 3.4.2代码
d = {1:'a', 2:'b', 3:'c', 4:'d'} v = input('Please input a key:') v = eval(v)
print(d.get(v,'您输入的的键不存在'))
2)Python 2.7.8代码
d = {1:'a', 2:'b', 3:'c', 4:'d'} v = input('Please input a key:')
print(d.get(v,'您输入的的键不存在'))
2.10 编写程序,生成包含20个随机数的列表,然后将前10个元素升序排列,后10个元素降序排列,并输出结果。
答:
1)Python 3.4.2代码
import random
x = [random.randint(0,100) for i in range(20)] print(x) y = x[0:10] y.sort() x[0:10] = y y = x[10:20]
y.sort(reverse=True) x[10:20] = y print(x)
2)Python 2.7.8代码
import random
x = [random.randint(0,100) for i in range(20)] print x y = x[0:10] y.sort() x[0:10] = y y = x[10:20]
y.sort(reverse=True) x[10:20] = y
print x
2.11 在Python中,字典和集合都是用一对 大括号 作为界定符,字典的每个元素有两部分组成,即 “键” 和 “值” ,其中 “键” 不允许重复。
2.12 使用字典对象的 items() 方法可以返回字典的“键-值对”列表,使用字典对象的 keys() 方法可以返回字典的“键”列表,使用字典对象的 values() 方法可以返回字典的“值”列表。
2.13 假设有列表a = ['name', 'age', 'sex']和b = ['Dong', 38, 'Male'],请使用一个语句将这两个列表的内容转换为字典,并且以列表a中的元素为“键”,以列表b中的元素为“值”,这个语句可以写为 c = dict(zip(a,b)) 。
2.14 假设有一个列表a,现要求从列表a中每3个元素取1个,并且将取到的元素组成新的列表b,可以使用语句 b = a[::3] 。
2.15 使用列表推导式生成包含10个数字5的列表,语句可以写为 [5 for i in range(10)] 。
2.16 不可以 (可以、不可以)使用del命令来删除元组中的部分元素。
第3章 选择与循环
3.1 分析逻辑运算符“or”的短路求值特性。 答:
假设有表达式“表达式1 or 表达式2”,如果表达式1的值等价于True,那么无论表达式2的值是什么,整个表达式的值总是等价于True。因此,不需要再计算表达式2的值。
3.2 编写程序,运行后用户输入4位整数作为年份,判断其是否为闰年。如果年份能被400整除,则为闰年;如果年份能被4整除但不能被100整除也为闰年。
答:
1)Python 3.4.2代码
x = input('Please input an integer of 4 digits meaning the year:') x = eval(x)
if x@0==0 or (x%4==0 and not x0==0): print('Yes') else:
print('No')
2)Python 2.7.8代码
x = input('Please input an integer of 4 digits meaning the year:') if x@0==0 or (x%4==0 and not x0==0): print 'Yes' else:
print 'No'
3.3 Python提供了两种基本的循环结构: for循环 和 while循环 。
3.4 编写程序,生成一个包含50个随机整数的列表,然后删除其中所有奇数。(提示:从后向前删。)
答:Python 3.4.2代码如下,
import random
x = [random.randint(0,100) for i in range(50)] print(x) i = len(x)-1 while i>=0:
if x[i]%2==1: del x[i]
i-=1 print(x)
3.5 编写程序,生成一个包含20个随机整数的列表,然后对其中偶数下标的元素进行降序排列,奇数下标的元素不变。(提示:使用切片。)
答:Python 3.4.2代码如下,
import random
x = [random.randint(0,100) for i in range(20)] print(x) y = x[::2]
y.sort(reverse=True) x[::2] = y
print(x)
3.6 编写程序,用户从键盘输入小于1000的整数,对其进行因式分解。例如,10=2×5,60=2×2×3×5。
答:
1)Python 3.4.2代码
x = input('Please input an integer less than 1000:') x = eval(x) t = x i = 2
result = [] while True: if t==1: break if t%i==0:
result.append(i) t = t/i else:
i+=1
print(x,'=','*'.join(map(str,result)))
2)Python 2.7.8代码
x = input('Please input an integer less than 1000:') t = x i = 2
result = [] while True: if t==1:
break if t%i==0:
result.append(i) t = t/i else:
i+=1
print x,'=','*'.join(map(str,result))
3.7 编写程序,至少使用2种不同的方法计算100以内所有奇数的和。
答:Python 3.4.2代码如下,如果使用Python 2.7.8只需要把其中的print()函数改为print语句即可。
x = [i for i in range(1,100) if i%2==1] print(sum(x))
print(sum(range(1,100)[::2]))
3.8 编写程序,输出所有由1、2、3、4这四个数字组成的素数,并且在每个素数中每个数字只使用一次。
答:Python 3.4.2代码如下,
答:Python 3.4.2代码如下,如果使用Python 2.7.8只需要把其中的print()函数改为print语句即可。
x = input('Please input x:') x = eval(x)
if x<0 or x>=20: print(0) elif 0<=x<5: print(x) elif 5<=x<10: print(3*x-5) elif 10<=x<20: print(0.5*x-2)
3.9 编写程序,实现分段函数计算,如下表所示。
x x<0 0<=x<5
y 0 x