鱼C论坛

 找回密码
 立即注册
查看: 1913|回复: 8

[已解决]小白问题 编写一个进制转换程序

[复制链接]
发表于 2020-2-8 15:18:29 | 显示全部楼层 |阅读模式

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

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

x
a = input("请输入一个整数(输入Q结束程序):")
while True:
    if a == 'Q':
        break
    else:
        a=int(a)
        shiliu='%x'%(a)
        ba='%o'%(a)
        print ("十进制->十六进制:",a,"->",shiliu)
        print ("十进制->十六进制:",a,"->",ba)
        x = input("请输入一个整数(输入Q结束程序):")


直接输入Q程序结束,但是输入完一个数字之后再输入Q返回的还是刚才的转换结果,有没有大佬可以给我解释一下,感激不尽!!
最佳答案
2020-2-8 15:24:59
本帖最后由 dlnb526 于 2020-2-8 15:29 编辑

1.变量名设置错误
2.循环设置的有点麻烦了

建议程序改进:
  1. while True:
  2.     a = input("请输入一个整数(输入Q结束程序):")
  3.     if a == 'Q':
  4.         break
  5.     else:
  6.         a=int(a)
  7.         shiliu='%x'%(a)
  8.         ba='%o'%(a)
  9.         print ("十进制->十六进制:",a,"->",shiliu)
  10.         print ("十进制->十六进制:",a,"->",ba)
复制代码


直接把输入过程放在循环过程里就好了,这样每次循环会自动走第一行代码。
在你之前的程序里,变量名设置错误了。应该把最后一行的x改为a,即
  1.     a = input("请输入一个整数(输入Q结束程序):")
复制代码
这样才能检验q判断循环与否
希望对你有所帮助
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-2-8 15:21:27 From FishC Mobile | 显示全部楼层
退出条件是a==q
你后面那个x   纯属风马牛不相及了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-8 15:24:59 | 显示全部楼层    本楼为最佳答案   
本帖最后由 dlnb526 于 2020-2-8 15:29 编辑

1.变量名设置错误
2.循环设置的有点麻烦了

建议程序改进:
  1. while True:
  2.     a = input("请输入一个整数(输入Q结束程序):")
  3.     if a == 'Q':
  4.         break
  5.     else:
  6.         a=int(a)
  7.         shiliu='%x'%(a)
  8.         ba='%o'%(a)
  9.         print ("十进制->十六进制:",a,"->",shiliu)
  10.         print ("十进制->十六进制:",a,"->",ba)
复制代码


直接把输入过程放在循环过程里就好了,这样每次循环会自动走第一行代码。
在你之前的程序里,变量名设置错误了。应该把最后一行的x改为a,即
  1.     a = input("请输入一个整数(输入Q结束程序):")
复制代码
这样才能检验q判断循环与否
希望对你有所帮助
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-8 15:26:18 | 显示全部楼层
后面应该是 a = input()。

  1. a = input("请输入一个整数(输入Q结束程序):")
  2. while True:
  3.     if a == 'Q':
  4.         break
  5.     else:
  6.         a = int(a)
  7.         shiliu = '%x' % a
  8.         ba = '%o' % a
  9.         print("十进制->十六进制:", a, "->", shiliu)
  10.         print("十进制->八进制:", a, "->", ba)
  11.         a = input("请输入一个整数(输入Q结束程序):")
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-8 17:11:12 | 显示全部楼层
  1. while True:
  2.     a = input("请输入一个整数(输入Q结束程序):")
  3.     if a == 'Q':
  4.         break
  5.     else:
  6.         a = int(a)
  7.         print ("十进制-十六进制:%d -> %x"%(a,a))
  8.         print ("十进制->八进制:%d -> %o"%(a,a))
复制代码

直接输出,它不香么。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-9 07:47:26 | 显示全部楼层
prophet-1 发表于 2020-2-8 04:11
直接输出,它不香么。

陈独秀,你坐下。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-9 18:24:13 | 显示全部楼层
wp231957 发表于 2020-2-8 15:21
退出条件是a==q
你后面那个x   纯属风马牛不相及了

前面改了后面忘记改了哈哈哈 谢谢了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-9 18:29:08 | 显示全部楼层
prophet-1 发表于 2020-2-8 17:11
直接输出,它不香么。

好像也挺有道理的 只要前面引号中有有百分号的地方都会将后面括号中的内容格式化是吗 按顺序来的对吗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-10 13:25:02 | 显示全部楼层
kris0913 发表于 2020-2-9 18:29
好像也挺有道理的 只要前面引号中有有百分号的地方都会将后面括号中的内容格式化是吗 按顺序来的对吗

没错。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-3 20:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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