【慕课】Python语言程序设计 学习笔记1

@Python语言程序设计1

【慕课】Python语言程序设计 学习笔记1

之前学习了莫烦的python基础教程,有些地方还是似懂非懂,所以就去慕课再学习一下。
《Python语言程序设计》 北京理工大学,主讲老师:嵩天、黄天羽、礼欣。
题目来源链接:https://python123.io/index.

测验1: Python基本语法元素 (第1周)

一、单项选择题

  1. Guido van Rossum正式对外发布Python版本的年份是:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬
    A 2002
    B 2008
    C 1991
    D 1998

Python成功了,所以早年的开发历史也受到关注,以下是Guido自述的启动阶段时间表:
“December, 1989 Implementation started
1990 Internal releases at CWI
February 20, 1991 0.9.0 (released to alt.sources)
February, 1991 0.9.1”
鉴于Internal release不算对外发布,普遍认为Python语言诞生于1991年。

  1. 以下关于Python语言中“缩进”说法正确的是:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬
    A 缩进在程序中长度统一且强制使用
    B 缩进是非强制的,仅为了提高代码可读性
    C 缩进统一为4个空格
    D 缩进可以用在任何语句之后,表示语句间的包含关系

Python语言的缩进只要统一即可,不一定是4个空格(尽管这是惯例)。
这里做错了,选了B,要注意理解和仔细看题。

  1. ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪以下不属于IPO模型的是:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬
    A Program
    B Process
    C Output
    D Input

IPO:Input Process Output

  1. 字符串是一个字符序列,给字符串s,以下表示s从右侧向左第三个字符的是:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬
    A s[-3]
    B s[0:-3]
    C s[3]
    D s[:-3]

字符串有正向递增和反向递减两套序号体系。正向递增序号第一位数为0,从左至右依次递增(0 1 2 3 4…),反向递减序号最后一位数为-1,从右至左依次递减(…-4 -3 -2 -1)。

  1. 以下不是Python语言合法命名的是:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬
    A MyGod
    B MyGod5
    C MyGod
    D 5MyGod

合法命名的首字符不能是数字。

  1. 在Python中,用于获取用户输入的函数是:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬
    A input()
    B print()
    C get()
    D eval()

get()不是Python内置函数,获得用户输入只有一种方式:input()。

  1. 下面不属于Python保留字的是:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬
    A elif
    B import
    C def
    D type

type不是Python保留字,而是内置函数 type()。

  1. 以下不是Python数据类型的是:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬
    A 列表
    B 字符串
    C 整数
    D 实数

Python中数据类型有字符串类型,数字类型,列表类型,其中数字类型包括整数和浮点数。实数是数学中的概念,在Python中对应浮点数。

  1. 哪个选项给出的保留字不直接用于表示分支结构?‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬
    A else
    B if
    C in
    D elif

if-elif-else是分支表达,in用来进行成员判断。

  1. 利用print()格式化输出,哪个选项用于控制浮点数的小数点后两位输出?‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬
    A {.2}
    B {.2f}
    C {:.2f}
    D {:.2}

:.2f 为固定格式,哪一个都不能少。

二、程序设计题

1、Hello World的条件输出

描述:获得用户输入的一个整数,参考该整数值,打印输出"Hello World",要求:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬
如果输入值是0,直接输出"Hello World"‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬
如果输入值大于0,以两个字符一行方式输出"Hello World"(空格也是字符)‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬
如果输入值小于0,以垂直方式输出"Hello World"
【慕课】Python语言程序设计 学习笔记1_第1张图片

作答:

s = "Hello World"
x = eval(input())
l = len(s)
if x == 0:
    print(s)
elif x > 0:
    for i in range(0,l,2):
        print(s[i:(i+2)])
else:
    for j in range(0,l):
        print(s[j])

其他方法实现:
方法二:

x = int(input(""))
if x == 0:
    print("Hello World")
elif x > 0:
    print("He\nll\no \nWo\nrl\nd")
else :
    print("H\ne\nl\nl\no\n \nW\no\nr\nl\nd")

方法三:

strs = "Hello World"
x = int(input())
if x == 0:
    print(strs)
elif x > 0:
    st =""
    for x in range(len(strs)):
        if (x+1) % 2 != 0:
            st = st + strs[x]
            if len(strs) == (x+1):
                print(st)
        else:
            st = st+strs[x]
            print(st)
            st=""
else:
    for i in strs:
        print(i)

2、数值运算

描述:获得用户输入的一个字符串,格式如下:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬
M OP N‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬
其中,M和N是任何数字,OP代表一种操作,表示为如下四种:+, -, *, /(加减乘除)‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬
根据OP,输出M OP N的运算结果,统一保存小数点后2位。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬
注意:M和OP、OP和N之间可以存在多个空格,不考虑输入错误情况。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬
【慕课】Python语言程序设计 学习笔记1_第2张图片
作答:

s = input()
print("{:.2f}".format(eval(s)))

这一题一开始没有想到eval()的作用,想复杂了,最初写的程序如下,发现运算符号s[i]报错了,思考再三无果。

s = input()
l = len(s)
for i in range(0,l):
    if s[i] in ['+' , '-' , '*' , '/']:
        M = eval(s[0 , i])
        N = eval(s[i , l])
        out = M s[i] N   # 这里报语法错误invalid syntax,应该是系统不认识s[i],所以会不会有某个方法把这个转换成运算符呢
        print("{:.2f}".out)
  • 如果是这样的情况,应该如何转化呢?先记录下来,后续复盘。

你可能感兴趣的:(python学习之路)