Python错题合集一
目录
题目一:
题目要求
以下代码的输出结果是()。
print('{:*^10.4}'.format('Flower'))
题目答案
C
我的分析
输出格式符号{:*^10.4}中,*表示空格处用*补齐,^表示要显示的字符要取中,10表示显示的总长度是10个字符,.4表示字符串的最大输出长度。所以尽管变量的长度超出了4,但只有4个字符被显示出来,所以如果print('{:*^10.4}'.format('Flower'))程序就会自动将字符串裁剪为默认保存前四个
题目二
题目要求
请问python全局变量和局部变量可以同名吗?
题目答案
可以
我的分析
Python global使用教程
如果局部变量隐藏了全局变量,那么当我们再次访问全局变量时,程序会报错,会说找不到该变量,因为,该全局变量被局部变量隐藏了。
来看一个栗子:
首先,我们定义了一个全局变量 varname,接着,我们定义了一个函数 func,同时,在函数 func 里面,我们首先打印变量 varname,接着再次给变量 varname 赋值。最后,我们调用 func 函数,并使用 print 打印全局变量 varname 的值,此时程序报错。因为,我们在函数 func 里面定义的局部变量 varname 隐藏了全局变量 varname。因此,在函数 func 里面打印的 varname 被当成了局部变量
还有一个问题就是我们如何解决,局部变量和全局变量的重名问题呢?
Python global解决变量重名
当局部变量与全局变量重名时,我们可以在函数内部使用 global 关键字来说明,我们在函数内部使用的是全局变量,而不是再次定义一个局部变量。所以说Python中有很多小细节值得去推敲的
题目三
题目要求
30、以下代码不可能输出的结果()。
from random import *
print(round(random(),2))
题目答案
B
我的分析
本题考查的是random库和round内置函数的使用方法,
下面来了解一下这两种方法的含义分别是什么吧
random()函数产生的随机数范围在[0,1),
round的语法
round(number,num_digits)
二、参数
number:需要四舍五入的数
digits:需要小数点后保留的位数;
三、返回值
指定的位数大于 0,返回四舍五入到指定的小数位;
指定的位数等于 0,返回四舍五入到最接近的整数,保留整数部分;
指定的位数小于 0,对整数部分进行四舍五入,返回的结果是浮点数。
本道题目中的要求输出随机数范围在[0,1)的任意四舍五入后保留两位小数的小数,是所以不可能输出1.31,所以本题选B。
本次的内容就分享到这
- 点赞
- 收藏
- 关注作者
评论(0)