zgj1992 发表于 2020-5-26 21:54:59

小学生,有点小问题不理解,求大师解答!

while True:
    one = input("请输入一个整数(输入Q结束程序):")
    if one == "Q":
      break
    else:
      one=int(one)
      print("十进制 -> 十六进制:{0} -> {1:#x}".format(one,one))
      print("十进制 -> 八进制:{0} -> {1:#o}".format(one,one))
      print("十进制 -> 二进制:{0} -> {1}".format(one,bin(one)))

请输入一个整数(输入Q结束程序):100
十进制 -> 十六进制:100 -> 0x64
十进制 -> 八进制:100 -> 0o144
十进制 -> 二进制:100 -> 0b1100100
请输入一个整数(输入Q结束程序):
============= RESTART: C:/Users/Administrator/Desktop/123123123.py =============
请输入一个整数(输入Q结束程序):100
十进制 -> 十六进制:0 -> 0x0
十进制 -> 八进制:0 -> 0o0
十进制 -> 二进制:0 -> 0b0
请输入一个整数(输入Q结束程序):


one=int(one),int()括号里不输入one为什么不能打印结果,输入one的作用是什么?跪求大师解答!

Twilight6 发表于 2020-5-26 22:00:51

本帖最后由 Twilight6 于 2020-5-26 22:04 编辑

one 只是一个变量名,没特殊意义

只是 one 接受 input("请输入一个整数(输入Q结束程序):") 用户在这的输入后,将用户输入的内容转化为字符串

所以 one 是个字符串类的值,但是你print那 用了 format格式化 ,将one的值分别格式化为十六进制,八进制,二进制

不能直接将字符串拿去格式化为进制,而是要将一个 整型的值拿去转化成各自的进制,所以要 int 后转为整型

简单来说你没有 int 转为整型时候 one还是个字符串,而进制转化,应该要是数值类型的值,所以你就必须要先 int 转化


wuqramy 发表于 2020-5-26 22:02:26

one就是你需要转换进制的数呀!
不传入目标参数程序怎么运行
就像做蛋糕,没有材料(目标参数)
怎么能得出成品?(转换结果)

自由的阿澧 发表于 2020-5-27 09:39:36

int(one)应该是格式转换,输入的变量one是字符串,而进制转换应该对整形进行操作,所以需要对one进行转换。如果把输入Q退出改成一个数字,那么把 one = input("请输入一个整数(输入Q结束程序):")改成 one = int(input("请输入一个整数(输入Q结束程序):"))应该也可以。一点拙见,有问题请指出,希望对你有帮助

zgj1992 发表于 2020-5-27 20:39:40

Twilight6 发表于 2020-5-26 22:00
one 只是一个变量名,没特殊意义

只是 one 接受 input("请输入一个整数(输入Q结束程序):")用户在这 ...

谢谢,理解了。

zgj1992 发表于 2020-5-27 20:40:13

wuqramy 发表于 2020-5-26 22:02
one就是你需要转换进制的数呀!
不传入目标参数程序怎么运行
就像做蛋糕,没有材料(目标参数)


谢谢,理解了

Twilight6 发表于 2020-5-27 20:40:22

zgj1992 发表于 2020-5-27 20:39
谢谢,理解了。

客气了
https://xxx.ilovefishc.com/forum/202005/27/132745rjvcvw1z2148jthd.gif
页: [1]
查看完整版本: 小学生,有点小问题不理解,求大师解答!