Python学习之课后作业1

第002讲

1、IDLE 的交互模式和编辑器模式有什么区别?

答:交互模式相当于跟 Python 的解析器 “你一言我一语” 的对话模式,你输入一个命令表达式,Python 将计算结果立即给你反馈回来。

2、请问 print() 和 Print() 的功能一样吗?

答:不一样,print() 是 Python 的内置函数,用于打印输出一个对象。由于 Python 是区分大小写的,所以如果你输入 Print("小甲鱼是帅哥吗?"),Python 会报错。

3、请统计一下 Python 一共有多少个 BIF 内置函数?

68 个。是的,使用 dir(__builtins__),显示的内容除了内置函数(Built-in Function),还包含了一些内置常量(Built-in Constants)和内置异常(Built-in Exception)等内容。

4、Tab 键除了用于缩进,你还发现它在 IDLE 中有什么特殊的功能吗?

缩进在 Python 中,是统一使用 Tab 键来实现的,默认它是相当于 4 个空格,这里建议大家不要去修改它。Tab 键的另一个妙用就是自动填充,比如咱输入 pr 两个字符,再摁一下键盘上的 Tab 键,会弹出一个提示款,IDLE 在猜测你想干哈呢。

第003讲

1、你觉得下面代码中,print() 函数会打印什么内容?

print("小甲鱼常说:"Good good study, day day up!""),Python中字符串采用就近原则Good good study, day day up!对于Python来说很苦恼。

2、print函数原型

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

end默认是\n

第004讲

1、请问下面代码有没有毛病,为什么?(知道但是容易忽略)

>>> input = "I love FishC.com"
>>> print(input)
I love FishC.com

给变量命名,要避免与 Python 内部使用的名字冲突,不然这个内置函数就废掉了。

2、 如果要为一个函数写说明文档,那么你觉得应该使用哪种字符串比较合适?

三引号字符串,也就是长字符串合适。

如果在 IDLE 的交互模式中使用 help(obj) 函数,可以查看到 obj 对应的说明文档:

help(print)

3、请问下面代码为什么会出错,应该如何解决?

print(r"C:\Users\goodb\Desktop")        在有\时,都要在字符串前面加r

第005讲

1、请问下面代码返回的 True 还是 False?

>>> 3 <= 5 >= 4

Python 支持将多个比较操作符串联起来,这个表达式将对比 3 <= 5 和 5 >= 4,两者都成立,所以结果自然是 True。

有一个是false结果就是false

2、请问下面代码返回的值是什么?

>>> 1 + 1 >= 2

返回True,Python 会先计算 1 + 1 的值,结果是 2,所以 2 >= 2 成立。优先级:算数运算符 > 比较运算符

3、int()函数

 int() 函数是将指定的值转换为整数,如果传入一个小数,那么它会截掉小数部分的值,再将其转换为整数。小数部分直接截掉

4、input()函数

input() 函数从标准输入流中读取一行数据,将其转换为字符串(末尾的换行符将被舍弃)后并返回。

第006讲

1、编写一个成绩评级程序,要求用户输入分数,程序返回对应的评级。(if else少嵌套)

  • 分数 < 60,D
  • 60 <= 分数 < 80,C
  • 80 <= 分数 < 90,B
  • 90 <= 分数 < 100,A
  • 分数 == 100,S

让程序可以不断接收输入,直至用户输入小写字母 e 结束程序。

score = input("请输入你的分数:")

while score  != "e":
    score = int(score)
    if score < 60:
        print("D")
    if 60 <= score < 80:
        print("C")
    if 80 <= score < 90:
        print("B")
    if 90 <= score < 100:
        print("A")
    if score == 100:
        print("S")
    score = input("请输入你的分数:")

第007讲

1、“所有使用算法生成的随机数,都是伪随机数!”,这种说法对吗?

对。

真正意义上的随机数(或者随机事件)表现的分布概率随机产生的,其结果是不可预测的,是不可重现的。而计算机中的随机函数是按照一定算法模拟产生的,其结果是确定的,是可重现的。所以,用计算机随机函数所产生的“随机数”并不随机,而是伪随机数。

2、 random函数

random.randint(a, b) 返回一个随机整数 N,范围是:a <= N <= b。

random.choice(seq)
-- 从 seq 参数指定的序列中返回一个随机元素。
-- 如果 seq 是空序列,Python 将抛出 IndexError 异常。

3、请问下面两个 print() 语句打印的结果是否相同,为什么?

import random

random.seed(1)
print(random.randint(1, 10), random.randint(1, 100), random.randint(1, 1000))

random.seed(1)
print(random.randint(1, 10), random.randint(1, 100), random.randint(1, 1000))

完全相同,因为它们拥有相同的种子。

默认的情况下,random 使用当前操作系统的时间作为随机数种子,所以产生的随机数看起来总是不会再现。但 random 同时允许我们通过技术手段“再现”伪随机数,那就是提供相同的种子。注意,这是一种设计,并不是什么 BUG。

random.seed() 会改变随机生成器的种子;传入的数值用于指定随机数生成时所用算法开始时所选定的整数值,如果使用相同的seed()值,则每次生成的随机数都相同;如果不设置这个值,则系统会根据时间来自己选择这个值,此时每次生成的随机数会因时间的差异而有所不同。

4、random.randrange(start, stop, step)

5、random.sample(population, k)

-- 从 population 参数指定的序列或集合中,随机抽取 k 个不重复的元素构成新序列并返回。
-- 该函数返回的是一个新的随机序列,不会破坏原序列,常用于不重复的随机抽样。
-- 如果 k 参数的值大于 population 参数指定的序列或集合的元素个数,Python 抛出 ValueError 异常。
-- 如果要从一个整数区间中随机抽取一定数量的整数,推荐使用 range() 对象作为参数(比如 sample(range(1, 34), k=6) 就是从 1 到 33 之间随机抽取不重复的 6 个数字),这样实现的效率非常高并且节省内存空间。

注:

>>> print(x)
[1, 2, 3, 4, 5] %不加*就没有框
>>> print(*x)
1 2 3 4 5

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值