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修改字體大小的方式不同。