MOOC —— Python语言基础与应用 by 北京大学 第五章 计算和控制流(一)

23、自动计算过程

简单介绍了 冯·诺依曼结构计算机,五大部件
基本的计算语句:
赋值语句: <变量> = <表达式>

24、控制流程

顺序结构 ,条件分支结构,循环结构

25、条件分支语句
if <逻辑表达式1>:
	<语句块1>
elif <逻辑表达式2>:
	<语句块2>
else:
	<语句块3>
26、条件循环
while <逻辑表达式>:
	<语句块>
	break   # 跳出循环
	continue  #跳出当前循环,继续运行下一循环
	<语句块>
else: #条件不满足退出循环,则执行
	<语句块>
27、迭代循环

跟while差不多

for <循环变量> in <可迭代对象>:
	<语句块1>
	break
	continue
else:
	<语句块2>

常用的函数 :range(start,end,step)

28、上机练习 —— 基本的计算程序

一、给定n,计算1+2!+3!+…+n!的值

n = int(input())
s = 1
m = 0
for i in range(1,n+1):
    s *= i
    m += s
print(m)

二、给定y和m,计算y年m月有几天?注意闰年定义

y = int(input())
m = input()
calendar = {'1': '31', '2': '28', '3': '31', '4': '30', '5': '31', '6': '30', '7': '31', '8': '31', '9': '30',
            '10': '31', '11': '30', '12': '31'}
if y % 4 == 0 and y % 100 !=0 or y % 400 ==0:
    calendar['2'] = '29'
else:
    calendar['2'] = '28'

print('{}年{}月有{}天。'.format(y, m, calendar[m]))

三、给定字符串s和数字n,打印把字符串s向右 移动n位的新字符串
例如:abcd和1,返回:dabc
例如:mnbol和2,返回:olmnb

s = input().split()
n = int(s[1])
print(s[0][-n:]+s[0][0:-n])

四、给定一个英文数字字符串,打印相应阿拉伯 数字字符串
例如:one-four-five-nine
返回:1459

number = {'zero':0,'one':1,'two':2,'three':3,'four':4,'five':5,'six':6,'seven':7,'eight':8,'nine':9}
n = input().split('-')
for i in n:
    print(number[i], end='')
测验题

1、以下叙述正确的是()。

A. continue语句的作用是结束整个循环的执行。
B. 只能在循环体内使用break语句。
C. 从多层循环嵌套中退出时,可以使用goto语句。
D. 在循环体内使用break语句或continue语句的作用相同。

2、

k=1000
while k>1:
    print(k)
    k=k/2

上述代码的运行结果包含()个数字。

A. 9
B. 11
C. 8
D. 10

3、

for i in range(3):
    print(i,end=',')

运行结果是

A. 0,1,2,
B. 1,2,3
C. 1,2,3,
D. 0,1,2

4、下面代码的运行结果是:

for i in range(2):
    print(i, end='')
else:
    print(0)

A. 0120

B. 0
  1
  2

C. 010

D. 0
 1
 2
 0

5、下面代码的运行结果是:

n = 1
while n >= 0:
    print(n)
    n = n - 1
else:
    print(n)

A. 1
  0
 -1

B. 10-1

C. 1

D. 1
  0
  0

6、下面代码的运行结果是:

n = 1
while n >= 0:
    n = n - 1
    print(n)
else:
    print(n)

A. 1
  0
 -1

B. 0
 -1
 -1

C. 1
  0
  0

D. 0
 -1

7、下面代码的运行结果是:

lst=[1,3,5,7]
for i in lst:
    print(i)
    if i>=5:
        break
else:
    print('END')

A. 1
  3
  5
  END

B. 1
  3
  5
  7

C. 1
  3
  5

D. 1
  3
  5
  7
  END

8、下面代码中输出结果为1,2,3三个数字的有()。

A.

for i in range(3):
	print(i)

B.

alist=[0,1,2]
for i in alist:
    print(i+1)

C.

for i in range(3,0,-1):
    print(i+1)

D.

i=3
while i>0:
    i=i-1
    print(3-i)

9、常见的控制流结构有:

A. 循环结构
B. 条件分支
C. 顺序结构
D. 赋值语句

10、

if True or False and False:
    print('yes')
else:
    print('no')

上述代码输出结果是____。


答案
1、B
2、D
3、A
4、C
5、A
6、B
7、C
8、BD
9、ABC
10、yes

猜你喜欢

转载自blog.csdn.net/byakki/article/details/85714983