python 第十天学习笔记

清明小长假,北京下雨下雪下冰雹,还有好多作业,做了一天作业,出去玩了一天,断更了两天

从今天开始从第一章开始写课后习题

第一课:

5. 如果我需要在一个字符串中嵌入一个双引号,正确的做法是?

你有两个选择:可以利用反斜杠(\)对双引号转义:\",或者用单引号引起这个字符串。例如:' I l"o"ve fishc.com '

>>> print('I "love" you')
I "love" you
>>> print("I \"love \" you")
I "love" you


第二课:

0. 什么是BIF

BIF就是内置函数,可以通过dir(__builtins__)来查看有哪些内置函数,python一共有68个内置函数,通过help(print)可以查看具体内置函数的使用方法


第三课:

0. 编写程序:hello.py,要求用户输入姓名并打印你好,姓名!

name = input("请输入你的名字")

print("你好,%s"%name)

name = input("请输入你的名字")
print("你好,"+name+"!")

1. 编写程序:calc.py 要求用户输入1100之间数字并判断,输入符合要求打印你妹好漂亮,不符合要求则打印你大爷好丑

temp = input("请输入1—100之间的数字")
n = int(temp)
if 1<= n <=100:
    print("你太棒了")
else:
    print("错了错了,请重新输入!")

思考:如何加循环,知道输入正确结束?


第四课:

0. 请问以下代码会打印多少次我爱鱼C

1. while 'C':

2.     print('我爱鱼C!')


死循环,会一直打印我爱鱼C

造成死循环的原因是 while 后边的条件永远为真(True),在 Python 看来,只有以下内容会被看作假(注意冒号括号里边啥都没有,连空格都不要有!):False None 0 "" '' () [] {}

其他一切都被解释为真!

比如:

while '':
    print("进入循环")

print("退出循环")

直接的输出  :  退出循环

4. Python3 中,一个语句可以分成多行书写吗?

可以,一行过长的语句可以使用反斜杠或者括号分解成几行,不妨试试:

>>> 3>4 and \

    1<2


第五课:

0. 在 Python 中,int 表示整型,那你还记得 bool、float 和 str 分别表示什么吗?

int 表示整形

bool 是布尔变量,返回True 或者 False

float 是浮点型数据

str 是字符串

1. 你知道为什么布尔类型(bool)的 True 和 False 分别用 1 和 0 来代替吗?

不知道

你可能听说过计算机是很“笨”的,究其根本是因为它只认识二进制数,所以所有的编程语言最终都会转换成简单的二进制序列给CPU按照一定的规则解析。
由于二进制只有两个数:0 和 1,因此用 0 和 1 来表示 False 和 True 再适合不过了,因为不用浪费资源在转换的过程上!

2. 使用 int() 将小数转换为整数,结果是向上取整还是向下取整呢?

>>> int(2.9)

2

向下取整

3. 我们人类思维是习惯于“四舍五入”法,你有什么办法使得 int() 按照“四舍五入”的方式取整吗?

int() 固然没那么“聪明”,但机器是死的,鱼油是活的!
5.4 “四舍五入”结果为:5,int(5.4+0.5) == 5
5.6 “四舍五入”结果为:6,int(5.6+0.5) == 6
大家看明白了吗?

4. 取得一个变量的类型,视频中介绍可以使用 type() 和 isinstance(),你更倾向于使用哪个?

建议使用 isinstance(),因为它的返回结果比较直接,另外 type() 其实并没有你想象的那么简单,我们后边会讲到。

>>> isinstance(3.4,int)                   isinstance(待确定类型,指定类型)

False  

5. Python3 可以给变量命名中文名,知道为什么吗?

Pyhton3 源码文件默认使用utf-8编码(支持中文),这就使得以下代码是合法的: 
>>> 小甲鱼 = '我爱你'  
>>> print(小甲鱼)
>>> 我爱你
>>> 派 = int(3.1415926)
>>> print(派)

3

1. 写一个程序,判断给定年份是否为闰年。

#判断是否为闰年
#公历闰年的简单计算方法(符合以下条件之一的年份即为闰年)
  #1.能被4整除而不能被100整除.
  #2.能被400整除.
temp = input("请输入年份:")
while not temp.isdigit():
    temp = input("抱歉,您的输入有误,请重新输入:")

year = int(temp)
if year/400==int(year/400):
    print("%d年是闰年"%year)
else:
    if (year/4==int(year/4)) and (year/100 != int(year/100)):
        print("%d年是闰年"%year)
    else:
        print("%d年不是闰年"%year)


第六课:

0. Python 的 floor 除法现在使用 “//” 实现,那 3.0 // 2.0 您目测会显示什么内容呢?

python中的除法:

>>> 3/2                                   /   普通除法    真除               %求余
1.5
>>> 3.0/2.0
1.5
>>> 3.0/2
1.5
>>> 3//2                                  // 地板除法  Floor除法(考虑一致性,两边都是整型就都是整型,一边是浮点型就是浮点型)
1
>>> 3.0//2
1.0

所以3.0//2.0   会返回1.0

4. 请用最快速度说出答案:not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9

如果你的回答是 0,那么小甲鱼很开心你中招了!
答案是:4

not or and 的优先级是不同的:not > and > or

我们按照优先级给它们加上括号:(not 1) or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8 and 9)
== 0 or 0 or 4 or 6 or 9
== 4

为啥是 4?

大家还记得第四讲作业提到的“短路逻辑”吗?3 and 4 == 4,而 3 or 4 == 3
所以答案是:4

>>> 0 or 0                 0 or 0 和 0 and 0 都是等于0
0
>>> 0 or 1                 or 一般取小 ,但是 0 or 1  取得是1
1
>>> 1 or 2

1

>>> 0 and 0               and 一般取大,但是 0 and 1 取得是0
0
>>> 0 and 1
0
>>> 1 and 2
2
>>> 2 and 3

3


0. 请写一个程序打印出 0~100 所有的奇数。

for i in range(1,101):
    if i % 2 !=0:
        print(i, end=' '


2. 题目:请编程求解该阶梯至少有多少阶?

爱因斯坦曾出过这样一道有趣的数学题:有一个长阶梯,若每步上2阶,最后剩1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后刚好一阶也不剩。

for i in range(1,50):
    if (7*i%2==1)and(7*i%3==2)and(7*i%5==4)and(7*i%6==5):

        print(7*i)

结果是114

x = 7
i = 1
#flag = 0   #标志

while i <= 100:
    if(x%2==1)and(x%3==2)and(x%5==4)and(x%6==5):
        flag=1
    else:
        x=7*(i+1)
    i +=1

if flag==1:
    print("阶数是:",x)
else:
    print("在程序设定的范围内找不到答案")


下次写第八课的作业






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值