python基础学习(第三天)

课后习题1

0. Python3 虽然支持中文作为变量名,但有些大牛却不赞同这么做,你觉得他们的依据是什么?Zy9?"2-
s &g`tiP(:nd,EUF0$_Z!^wLW3JrH
答:随着时代的发展,越来越多的编程语言不仅支持纯英文代码,还支持全球多数国家的语言开发,有些变态的甚至还能使用 Emoji 符号……但是,都没能流行起来!为什么呢?14_m%
:;NlxZ<QRB$E]u7%Sst +

  • 不利于与外国友人协同开发程序;
  • 敲一个中文单词的步骤比英文单词要多;
  • 习惯问题:以前的编程语言多数只支持纯英文,大家只能硬着头皮用英文;
  • 就算是变量名支持中文了,但符号却还是只能使用英文的;

1. 以下哪个变量命名不正确?为什么?*x0})
EZ'xYyT^6&)Xf}?=+RmGqi:M
  (A)MM_520  (B)_MM520_  (C)520_MM  (D)_520_MM  (E)我M爱M你sFjeI+X$B:
SwxM:70BDHUsQN_]ziR[5nv@1
答:只有 C 选项不正确,因为 Python 中的变量名不能以数字开头。

2. 你觉得下面代码出错的原因是什么?y4X>VD`HB
U_3L>o[!IsB"KxR0|.(e'QZChXnS

  1. >>> print(x)
  2. Traceback (most recent call last):
  3.   File "<pyshell#1>", line 1, in <module>
  4.     print(x)
  5. NameError: name 'x' is not defined


答:Python 的变量在使用前虽然不需要声明,但仍然需要先对其进行赋值才能创建变量。这里报错的原因是 name 'x' is not defined,x 变量名未定义,言下之意就是访问了一个不存在(未创建)的变量。rm_n?x1+
Dp`2%QlJq=,3!;B6&|I](}at
M '5p9Yc0>|)aG;+_d&}~OsS2
3. 你觉得下面代码中,print() 函数会打印什么内容?R0f]x2<)
Q+V|L>pE#$5dYlA1bG*y23<x.7]8

  1. >>> x = 520
  2. >>> x = 880
  3. >>> print(X)


答:会报错。因为 Python 的变量名是区分大小写的,前面创建的是变量 x(小写),后面 print(X) 访问的是变量 X(大写),在 Python 看来是两个完全不同的名字,由于代码中并未创建变量 X(大写),所以直接对其进行访问会报错。jIArSl>F?g
vKNZ~<F_MH.w6`D3,g[pE

 4. 你觉得下面代码中,print() 函数会打印什么内容?;?V_kN~I)"
*pB1Kn'{Ay5]2Rjwh&JO

  1. >>> x, y, z = 3, 4, 5
  2. >>> x, y, z = y, x, z
  3. >>> print(x, y, z)


答:4 3 5。Powered by https://fishc.com.cn
g`8C" 6q$vl1J^.3!+nb)]7
解析:第一条语句x, y, z = 3, 4, 5的作用是同时给x、y、z三个变量名赋值;第二条语句x, y, z = y, x, z的实现效果相当于x, y, z三个变量的值(3, 4, 5)重新安排位置,顺序是y, x, z。5CmA|a7RpN
63zbOa8L|!^"JV`j@kl)4cYC>Pt{nx
' @Z`xFXgST{_.vbl%pGQ)Ur&ydKk
5. 你觉得下面代码中,print() 函数会打印什么内容?,V?oZ{chw
M<TP2,YkHum>s0L%y-xBOi'RD@8*J|

  1. print("小甲鱼常说:"Good good study, day day up!"")


答:会报错。来自:https://fishc.com.cn
j*<_C2:@f1&pVZOn#"9(kRo
解析:因为字符串总是需要成对编写,而 Python 对于字符串的识别是按“就近匹配”的原则,所以上面代码前后两对双引号里面的内容会被解析为字符串,但是中间的 Good good study, day day up! 会让 Python 很头疼……解决这个问题也不难,只需要混合使用单引号和双引号即可:dbmu:;),
)4.",F[nI*<v0ws2gE~#>Bqc

  1. print('小甲鱼常说:"Good good study, day day up!"')


这样,Python 就不会误会啦!

6. 请编写代码:使用变量(dpy)存放每年的天数(365),变量(hpd)存放每天的小时数(24),变量(mph)存放每小时的分钟数,变量(spm)存放每分钟的秒数(60),最后计算一年有多少秒,并将结果存放到变量(spy)中。Ol:yz
ovZCRh20E+_TtSK81wcB=`]WA)F[H
代码清单:Powered by https://fishc.com.cn
)~.s<1'8i#TnRB0oc[H,Aj`>6X"

  1. >>> dpy = 365
  2. >>> hpd = 24
  3. >>> mph = 60
  4. >>> spm = 60
  5. >>> spy = dpy * hpd * mph * spm
  6. >>> print(spy)
  7. 31536000

FwgEN05j!<qlzisC&?Qmb:vA]x7>I
7. 请编写代码:使用 input() 函数让用户录入姓名,然后将名字保存到变量(name)中,最后使用 print() 函数打印出来。>?h5bi^-V;
+q`[y"c'o;7Rf4tDAJ>*MzNPpZ3nT
代码清单:版权属于:https://fishc.com.cn
LIeZU+rlM0Jh#:1GO52VK

  1. >>> name = input("请输入您的名字:")
  2. 请输入您的名字:小甲鱼
  3. >>> print("你好", name, sep=",", end="!")
  4. 你好,小甲鱼!

课后习题2

0. 请问下面代码有没有毛病,为什么?<2`Iu
dFU.*=~i5AHO2a;9%1)uxWM[cG^I:Q

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

答:有毛病。  input 是一个内置函数(BIF)。 给变量命名,要避免与 Python 内部使用的名字冲突,不然这个内置函数就废掉了。不然 调用 input() 函数,Python 直接就报错了: vG^VEO
|_0E"d=VGhotk<H!pf}5wy[@bs#
  1. >>> name = input("请输入你的名字:")
  2. Traceback (most recent call last):
  3.   File "<pyshell#5>", line 1, in <module>
  4.     name = input("请输入你的名字:")
  5. TypeError: 'str' object is not callable

8M<LfmcYEWD Xr3+#5`!{U(tG*
1. 请问下面代码为什么会出错,应该如何解决? IcfyNOC|"
)&K2NP=1"Q'VY8,9c|Bb_jy5s]0d~!
  1. >>> print("C:\Users\goodb\Desktop")
  2. SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

答:这是由于在字符串中,反斜杠(\)会与其随后的字符共同构成转义字符。 为了避免这种不测情况的发生,我们可以在字符串的引号前面加上r,表示该字符串是一个原始字符串(不接受转义字符)。 OG)oZ^
OM=ls;6+P4f! xBV1$wp<iYI},tT>
  1. >>> print(r"C:\Users\goodb\Desktop")
  2. C:\Users\goodb\Desktop

8qyrUL<Icz~!D6J}&gO0ud
2. 如果要为一个函数写说明文档,那么你觉得应该使用哪种字符串比较合适? o3<^EN
g%?J!]I9ziUxr[y2Co="Z#e|h}RP
答:三引号字符串,也就是长字符串合适。 因为大多数说明文档都不是一行字符串可以说清楚的,所以应该使用三引号字符串来实现。 71@?sk
)Q7I(!=}8N1v`F>_#pj:?$[b5i@2
【课外知识】 Powered by https://fishc.com.cn
B0z[cj8,i3U) Dgh9e:65<lZE
如果在 IDLE 的交互模式中使用 help(obj) 函数,可以查看到 obj 对应的说明文档: 1w=h]
v+eS!Mr&s_"';9}o]C2lR
  1. >>> help(print)
  2. Help on built-in function print in module builtins:
  3. print(...)
  4.     print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
  5.    
  6.     Prints the values to a stream, or to sys.stdout by default.
  7.     Optional keyword arguments:
  8.     file:  a file-like object (stream); defaults to the current sys.stdout.
  9.     sep:   string inserted between values, default a space.
  10.     end:   string appended after the last value, default a newline.
  11. flush: whether to forcibly flush the stream.


Z"u[5k:IrC#z7>J)^%]E
3. 请问是 '123' 大还是 256 大?'o8mE7w=4>
"N~9X:n;PpMJRH]x[Cj#
答:在 Python 中,字符串类型的数据不能直接跟整数类型的数据做比较。={< X4QL
)xFl;z*G2K"gQsp&Cy~8EjX
b*)DF'7mA]H!;5plk=@&MRdY9:O2
4. 请写出下面几个表达式的结果。vX$%7zN
P]l#ux<,OWNC`)Uj~YJh6Dtnbo0
A. '123' + 256版权属于:https://fishc.com.cn
d:J)=7Rz%N(Ubu-s`w]*W0@vV
结果:报错,这是因为在 Python 中,字符串类型的数据不能直接跟整数类型的数据相加。FqX|LbP[
Ck)Wv15 ztFxA[{p?YQHnDGds;2
B. '123' + '256'Powered by https://fishc.com.cn
#q@[WxayNe?wo05TMBnLm+f_
结果:'123456'这是由于字符串的拼接。Powered by https://fishc.com.cn
6&Om9pPh_]z^?rg#0+7*
C. '123' * 3Powered by https://fishc.com.cn
2*v?~P>yV+kJ=M@|ZnbfAwp
结果:'123123123',这是由于字符串的复制。版权属于:https://fishc.com.cn
(,yC0maW->R}qM43g[dH
D. '123' - '12'Powered by https://fishc.com.cn
_fng;F0{RNwmZ-D.(!+tXUoSj
结果:报错,目前 Python 的字符串类型只支持加法拼接和乘法复制,不支持减法或者除法。

5. 打印一个九九乘法表。dKEB[F%~
!$}5`#a)oG=0PlxX'svVUAIzp6t]j
代码清单:来自:https://fishc.com.cn
pGl{_c(7&wg86#.R'+YykAUWI|4

  1. >>> for i in range(1, 10):
  2. ...     for j in range(1, i+1):
  3. ...         print(i, "x", j, "=", i * j, end=' ')
  4. ...     print("\n")

声明:这些题目都来源于小甲鱼的论坛https://fishc.com.cn,发布到CSDN仅作为课程作业所需证明,不是分享,且已购买小甲鱼论坛终身会员。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值