小甲鱼Python004讲课后作业

问答题

0. 请问下面代码有没有毛病,为什么?

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

Answer:
虽然这段代码可以正常输出结果,但是由于input是Python内置BIF函数名,而用函数名作为变量名会产生一些不可避免的问题等。所以代码虽然没有毛病,但是存在一定的规范问题。

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

>>> print("C:\Users\goodb\Desktop")
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

Answer:
语句中的反斜线与字母组合构成了转义字符,产生了歧义,若要改正应使用原生字符串(Raw strings),即:

print(r"C:\Users\goodb\Desktop")

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

Answer:
应该使用三引号""" text """更为合适,因为三引号可以用于大篇幅文字的注释。

3. 请问是 '123' 大还是 256 大?

Answer:
在使用条件语句进行比较时,Python会产生报错,这是因为无法直接使用字符串与整形数进行大小比较。

另外,若是两个字符串类型的“数字”或者其他字符串比较大小,应按照ASCII表中的编码大小来进行比较,如下:
ASCII符号表图片
常见ASCII码的大小规则:0~9 < A~Z < a~z

4. 请写出下面几个表达式的结果。

A. '123' + 256
B. '123' + '256'
C. '123' * 3
D. '123' - '12'

Answer:
A: 会产生报错,因为字符串无法与整形数直接进行加法运算;
B: 输出结果:'123256';
C: 输出结果:'123123123';
D: 会报错,Python不支持字符串'-'字符串的操作类型

动手题

0. 请将下面的文本拷贝并赋值给变量名(fishc),使其可以如下图的效果打印输出。

文本:

      ___                     ___          ___          ___     
     /\  \         ___       /\  \        /\__\        /\  \    
    /::\  \       /\  \     /::\  \      /:/  /       /::\  \   
   /:/\:\  \      \:\  \   /:/\ \  \    /:/__/       /:/\:\  \  
  /::\~\:\  \     /::\__\ _\:\~\ \  \  /::\  \ ___  /:/  \:\  \ 
 /:/\:\ \:\__\ __/:/\/__//\ \:\ \ \__\/:/\:\  /\__\/:/__/ \:\__\
 \/__\:\ \/__//\/:/  /   \:\ \:\ \/__/\/__\:\/:/  /\:\  \  \/__/
      \:\__\  \::/__/     \:\ \:\__\       \::/  /  \:\  \      
       \/__/   \:\__\      \:\/:/  /       /:/  /    \:\  \     
                \/__/       \::/  /       /:/  /      \:\__\    
                             \/__/        \/__/        \/__/

效果:
动手题0图片
Answer:

print("                                                                  \n\
      ___                     ___          ___          ___              \n\
     /\  \         ___       /\  \        /\__\        /\  \             \n\
    /::\  \       /\  \     /::\  \      /:/  /       /::\  \            \n\
   /:/\:\  \      \:\  \   /:/\ \  \    /:/__/       /:/\:\  \           \n\
  /::\~\:\  \     /::\__\ _\:\~\ \  \  /::\  \ ___  /:/  \:\  \          \n\
 /:/\:\ \:\__\ __/:/\/__//\ \:\ \ \__\/:/\:\  /\__\/:/__/ \:\__\         \n\
 \/__\:\ \/__//\/:/  /   \:\ \:\ \/__/\/__\:\/:/  /\:\  \  \/__/         \n\
      \:\__\  \::/__/     \:\ \:\__\       \::/  /  \:\  \               \n\
       \/__/   \:\__\      \:\/:/  /       /:/  /    \:\  \              \n\
                \/__/       \::/  /       /:/  /      \:\__\             \n\
                             \/__/        \/__/        \/__/             \n\
\n")

1. 下面代码用于打印一个九九乘法表,请填充画红线部分的内容,使代码可以正常打印。

动手题1图片
Answer:

for i in range(1,10):
    for j in range(1,i+1):
        print(i,' x ',j,' = ',i*j,end = '    ')
    print('\n')

本文章使用limfx的vscode插件快速发布