A. python为什么这样输出不了
因为alist是个局部变量,它的作用域在x(a)这个函数里。只能在函数中使用。
离开这个函数程序是无法识别的。
B. python怎么输出既不是最大也不是最小的
#/usr/bin/env python3
#coding=utf-8
import re
s = input('请输入10个整数以空格隔开: ')
nums = [int(i) for i in re.findall(r'\d+', s)]
zuida, zuixiao = max(nums), min(nums)
print('最大值是{},位于第{}'.format(zuida, nums.index(zuida) + 1))
print('最小值是{},位于第{}'.format(zuixiao, nums.index(zuixiao) + 1))
C. python中怎么限制每行的字符数,调整每行为指定的字符数输出
f=open('r.txt','w')
forrow,linenumerate(open('a.txt','r').readlines()):
f.write((' 'ifl.startswith('#')androwelse'')+' '.join([l.strip()[i*100:i*100+100]foriinrange((len(l.strip())-1)/100+1)])+' ')
D. 求解释,为什么python里整数加小数18位不能输出18位,17位能正常显示
你说的“整数加小数”有个名字叫做“浮点”,Python默认的浮点类型使用64位的空间来存储(就是所谓的双精度浮点型)。
存储空间有限,那么能表示的精度就受到限制。如果你不想知道具体的细节,直接告诉你64位的浮点型能够表示的相对精度为2^(-52),也就是说,比1大的最小的数是1+2^(-52)=1.000 000 000 000 000 222 ...,Python只能显示1.000 000 000 000 000 2。你算1+2^(-53)Python就不行了。
2^(-52)约等于2*10^(-16),就解释了有效位数是17位的现象。
E. python.怎样输出长度为110的字符串
长度110的字符串是可以输出的
F. python 如何控制输出的小数长度
Python里面小数点长度精度控制方法:
一、要求较小的精度
将精度高的浮点数转换成精度低的浮点数。
1.round()内置方法
这个是使用最多的,刚看了round()的使用解释,也不是很容易懂。round()不是简单的四舍五入的处理方式。
For the built-in types supporting round(), values are rounded to the
closest multiple of 10 to the power minus ndigits; if two multiples are equally
close, rounding is done toward the even choice (so, for example, both round(0.5)
and round(-0.5) are 0, and round(1.5) is 2).
>>> round(2.5)
2
>>> round(1.5)
2
>>> round(2.675)
3
>>> round(2.675, 2)
2.67
round()如果只有一个数作为参数,不指定位数的时候,返回的是一个整数,而且是最靠近的整数(这点上类似四舍五入)。但是当出现.5的时候,两边的距离都一样,round()取靠近的偶数,这就是为什么round(2.5)
=
2。当指定取舍的小数点位数的时候,一般情况也是使用四舍五入的规则,但是碰到.5的这样情况,如果要取舍的位数前的小树是奇数,则直接舍弃,如果偶数这向上取舍。看下面的示例:
>>> round(2.635, 2)
2.63
>>> round(2.645, 2)
2.65
>>> round(2.655, 2)
2.65
>>> round(2.665, 2)
2.67
>>> round(2.675, 2)
2.67
2. 使用格式化
效果和round()是一样的。
>>> a = ("%.2f" % 2.635)
>>> a
'2.63'
>>> a = ("%.2f" % 2.645)
>>> a
'2.65'
>>> a = int(2.5)
>>> a
2
二、要求超过17位的精度分析
python默认的是17位小数的精度,但是这里有一个问题,就是当我们的计算需要使用更高的精度(超过17位小数)的时候该怎么做呢?
1. 使用格式化(不推荐)
>>> a = "%.30f" % (1/3)
>>> a
'0.'
可以显示,但是不准确,后面的数字往往没有意义。
2. 高精度使用decimal模块,配合getcontext
>>> from decimal import *
>>> print(getcontext())
Context(prec=28, rounding=ROUND_HALF_EVEN, Emin=-999999, Emax=999999,
capitals=1, clamp=0, flags=[], traps=[InvalidOperation, DivisionByZero,
Overflow])
>>> getcontext().prec = 50
>>> b = Decimal(1)/Decimal(3)
>>> b
Decimal('0.')
>>> c = Decimal(1)/Decimal(17)
>>> c
Decimal('0.')
>>> float(c)
0.058823529411764705
默认的context的精度是28位,可以设置为50位甚至更高,都可以。这样在分析复杂的浮点数的时候,可以有更高的自己可以控制的精度。其实可以留意下context里面的这rounding=ROUND_HALF_EVEN
参数。ROUND_HALF_EVEN, 当half的时候,靠近even.
三、关于小数和取整
既然说到小数,就必然要说到整数。一般取整会用到这些函数:
1. round()
这个不说了,前面已经讲过了。一定要注意它不是简单的四舍五入,而是ROUND_HALF_EVEN的策略。
2. math模块的ceil(x)
取大于或者等于x的最小整数。
3. math模块的floor(x)
去小于或者等于x的最大整数。
>>> from math import ceil, floor
>>> round(2.5)
2
>>> ceil(2.5)
3
>>> floor(2.5)
2
>>> round(2.3)
2
>>> ceil(2.3)
3
>>> floor(2.3)
2
>>>
G. python {0:^30}什么意思
这种用法属于Python的格式化输出字符:
1、{0:^30}中的0是一个序号,表示格式化输出的第0个字符,依次累加;
2、{0:^30}中的30表示输出宽度约束为30个字符;
3、{0:^30}中的^表示输出时右对齐,若宽度小于字符串的实际宽度,以实际宽度输出。
(7)python输出限制扩展阅读:
基本语法
if语句,当条件成立时运行语句块。经常与else, elif(相当于else if) 配合使用。
for语句,遍历列表、字符串、字典、集合等迭代器,依次处理迭代器中的每个元素。
while语句,当条件为真时,循环运行语句块。
try语句,与except,finally配合使用处理在程序运行中出现的异常情况。
class语句,用于定义类型。
def语句,用于定义函数和类型的方法。
mport as语句,将导入的对象赋值给一个变量。
H. python无法输出结果
python函数参数为None的时候,比如 def req(self, b=None),是因为这个函数是一个封装函数,在没有调用他的时候他的参数需要加上None。如果不加None值,不调用函数他会报错。 一般会用在封装类或者框架里。比如说框架一般会有一个总的调用函数,总的调用函数启动,这次没有获取到值,执行到req函数时无法给req函数参数,那如果没有参数req函数就会报错。一般会报:‘req() missing 1 required positional argument: 'b'’但是如果参数为None就不会报错。如果程序执行到req参数传递成功的话,参数就不会是None了。 所以None是一个防止报错的机制。
I. python控制每行只能输出五个数
控制每行只能输出五个数,这说明你的这款处理器,它的大小只能处理这五个数多了,是处理不了的,要想多处理,你必须换一个大点儿的处理器
J. python怎么设置输出内容的字体大小
如果你说的是Python输出到cmd控制台的字体大小,这个是无法修改的。这个字体大小并不是语言控制的,控制台的字体是由系统决定的。
如果你说的是IDE(编辑器)的字体大小,请说明使用的IDE是什么,不同的IDE修改字体大小的方式不同。