Pythonのお勉強 Part30
at TECH
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
550:デフォルトの名無しさん 08/12/14 03:42:03 >>540 戻り値が渡ってないので。return Py_Main(argc, argv); 引数は python -h 参照。 551:デフォルトの名無しさん 08/12/14 03:52:24 >組み込み関数では、int(str,base)でもn進数変換できるけど 逆じゃない? 552:550 08/12/14 07:03:50 2..36進数表記の文字列 -> 数値でした。指摘thx int(str,base) は C/APIでは PyInt_FromStringだった、これもbaseの範囲は2..36 n進数変換。CAPIには PyNumber_ToBase があったけど、 pythonから使えるのはbase=2,8,16 (bin,oct,hex) のみ。 from ctypes import py_int, py_object, pythonapi num_to_base = pythonapi.PyNumber_ToBase num_to_base.argtypes = [py_object, c_int] num_to_base.restype = py_object print(num_to_base(7, 10)) # "7#13" print(num_to_base(128,64)) # "64#20" 値によっては変換後の文字を端末に表示する際にUnicodeEncodeErrorになることも。(python 3.0) 553:デフォルトの名無しさん 08/12/16 06:25:41 b64c = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_' base = len(b64c) digs = 11 #(nにあわせて変えてね) ''.join([b64c[int(n / base ** (digs - 1 - x)) % base] for x in xrange(digs)])
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
5098日前に更新/206 KB
担当:undef