鱼C论坛

 找回密码
 立即注册
查看: 1148|回复: 3

[已解决]列表打印

[复制链接]
发表于 2021-10-21 22:33:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. #  binary to decimal
  2. def bin2int(binary_number):
  3.     number = len(binary_number) - 1
  4.     decimal_number = 0

  5.     for i in binary_number:
  6.         i = int(i)
  7.         decimal_number += i * 2 ** (i * number)
  8.         number -= 1
  9.     return decimal_number


  10. #  decimal to binary
  11. def int2bin(decimal_number):
  12.     binary = []

  13.     while decimal_number != 0:
  14.         binary_number = decimal_number % 2
  15.         decimal_number //= 2
  16.         binary_number = str(binary_number)
  17.         binary.append(binary_number)

  18.     binary.reverse()
  19.     binary = list(map(int, binary))
  20.     return binary


  21. #  octal number to decimal
  22. def oct2int(octal_number):
  23.     number = len(octal_number) - 1
  24.     decimal_number = 0

  25.     for i in octal_number:
  26.         i = int(i)
  27.         decimal_number += i * 8 ** (i * number)
  28.         number -= 1
  29.     return decimal_number


  30. #  decimal to octal
  31. def int2oct(decimal_number):
  32.     octal_number = []

  33.     while decimal_number != 0:
  34.         oct_number = decimal_number % 8
  35.         decimal_number //= 8
  36.         oct_number = str(oct_number)
  37.         octal_number.append(oct_number)

  38.     octal_number.reverse()
  39.     octal_number = list(map(int, octal_number))
  40.     return octal_number


  41. #  hexadecimal to decimal
  42. def hex2int(hex_number):
  43.     length = len(hex_number)
  44.     hex_number = hex_number.upper()
  45.     decimal = 0
  46.     hex_accord = {'A': 10, 'B': 11, 'C': 12, 'D': 13, 'E': 14, 'F': 15}
  47.     n = 0

  48.     for i in hex_number:
  49.         n += 1
  50.         if '0' <= i <= '9':
  51.             i = int(i)
  52.             decimal += i * 16 ** (length - n)
  53.         else:
  54.             decimal += hex_accord[i] * 16 ** (length - n)

  55.     return decimal


  56. #  decimal to hexadecimal
  57. def int2hex(decimal_number):
  58.     hexadecimal = ''
  59.     if 0 <= decimal_number <= 9:
  60.         hexadecimal = str(decimal_number)
  61.     elif decimal_number == 10:
  62.         hexadecimal = 'A'
  63.     elif decimal_number == 11:
  64.         hexadecimal = 'B'
  65.     elif decimal_number == 12:
  66.         hexadecimal = 'C'
  67.     elif decimal_number == 13:
  68.         hexadecimal = 'D'
  69.     elif decimal_number == 14:
  70.         hexadecimal = 'E'
  71.     elif decimal_number == 15:
  72.         hexadecimal = 'F'

  73.     return hexadecimal


  74. def int2hexadecimal(decimal_number):
  75.     hexadecimal_number = []

  76.     while decimal_number != 0:
  77.         hex_number = decimal_number % 16
  78.         decimal_number //= 16
  79.         hex_number = int2hex(hex_number)
  80.         hexadecimal_number.append(hex_number)

  81.     hexadecimal_number.reverse()
  82.     return hexadecimal_number


  83. def transmission(execution_start, execution_aim, number):
  84.     if execution_start == 2:
  85.         number = bin2int(number)
  86.     elif execution_start == 8:
  87.         number = oct2int(number)
  88.     elif execution_start == 10:
  89.         number = number
  90.     elif execution_start == 16:
  91.         number = hex2int(number)
  92.     else:
  93.         print('please enter a true system!')
  94.         return False

  95.     if execution_aim == 2:
  96.         number = int2bin(number)
  97.     elif execution_aim == 8:
  98.         number = int2oct(number)
  99.     elif execution_aim == 10:
  100.         number = number
  101.     elif execution_aim == 16:
  102.         number = int2hexadecimal(number)
  103.     else:
  104.         return False
  105.     return number


  106. def main():
  107.     number = str(input('please input a number:'))
  108.     execution_start = int(input('Which system you want to start:'))
  109.     execution_aim = int(input('Which system you want to reach:'))
  110.     if transmission(execution_start, execution_aim, number):
  111.         print('The number you want to transfer is:', transmission(execution_start, execution_aim, number), sep='')
  112.     else:
  113.         print('please enter a true system!')


  114. if __name__ == '__main__':
  115.     main()
复制代码


想问一下列表中的内容怎么连续打印看不出列表的中括号和引号,参考这个程序的使用
最佳答案
2021-10-21 23:06:39
本帖最后由 jackz007 于 2021-10-21 23:10 编辑

        这一句:
  1.         print('The number you want to transfer is:', transmission(execution_start, execution_aim, number), sep='')
复制代码

        改为:
  1.         print('The number you want to transfer is : ' , end = ' ')
  2.         print(* transmission(execution_start, execution_aim, number) , sep = ' , ')
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-10-21 23:06:39 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2021-10-21 23:10 编辑

        这一句:
  1.         print('The number you want to transfer is:', transmission(execution_start, execution_aim, number), sep='')
复制代码

        改为:
  1.         print('The number you want to transfer is : ' , end = ' ')
  2.         print(* transmission(execution_start, execution_aim, number) , sep = ' , ')
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-22 00:05:02 | 显示全部楼层
jackz007 发表于 2021-10-21 23:06
这一句:

        改为:

TypeError: not all arguments converted during string formatting
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-22 00:38:15 From FishC Mobile | 显示全部楼层
1005663861 发表于 2021-10-22 00:05
TypeError: not all arguments converted during string formatting

        用没修改的程序给出一个输入输出的样例看看呢。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-14 02:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表