Python大学计算机基础
2个回答
展开全部
第4题
4.1
x = 1
if x < 2:
if x < 1:
y = x + 1
else:
y = x + 2
4.2
1) else匹配之前的缩进相同且最接近的if
2) 改之前是y=x+2先执行,之后是y=x+1先执行
第5题
代码还原
n = 1
while n <= 5:
i = 1
while i <= n:
print(i, end='') # 缺的一行,end=''意思是不换行
i = i + 1
print('')
n = n + 1
5.1 变量n
5.2 第一行是控制外层while结束的计数变量,第三行是控制内层whlie结束的计数变量,第六行是输出一个换行,第八行使n+1,以便能不断增大,最终跳转循环
5.3 第五行是用来输出数字的,共执行了1+2+3+4+5=15次
5.4 改写如下
n = 1
for n in range(1, 6):
i = 1
for i in range(i, n + 1):
print(i, end='')
i = i + 1
print('')
n = n + 1
输出
第6题
"""
5
45
345
2345
12345
"""
n = 5
while n >= 1:
i = 1
while i <= 5:
if i >= n:
print(i, end='')
else:
print(' ', end='')
i += 1
print('')
n -= 1
"""
ABCDE
BCDE
CDE
DE
E
"""
dist = {
1: 'A',
2: 'B',
3: 'C',
4: 'D',
5: 'E'
}
n = 5
while n >= 1:
i = 1
while i <= 5:
if i >= 6 - n:
print(dist[i], end='')
else:
print(' ', end='')
i += 1
print('')
n -= 1
输出
5
45
345
2345
12345
ABCDE
BCDE
CDE
DE
E
第7题
分析
生成100以内的数组,循环判断一个数如果不是素数,就移除它,最后数值中剩下的就是素数
代码如下
"""输出100内的素数"""
numbers = list(range(2, 101))
def is_not_prime(num):
for v in range(2, num):
if num % v == 0:
return True
for v in numbers:
if is_not_prime(v):
numbers.remove(v)
print(numbers)
输出
[2, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41,
43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81,
83, 85, 87, 89, 91, 93, 95, 97, 99]
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询