小小鹏 发表于 2020-8-4 18:05:12

求助进制代码

https://xxx.ilovefishc.com/forum/201311/28/222408as27w77f262gkgg7.png

temp = input('请输入一个整数(输入Q结束程序):')
num = int(temp)

a ="%x"% num
b ="%o"% num
C ="%d"% num

if num != 'Q':
      print("十进制 -> 十六进制 :"+num+"->"+a )
      print("十进制 -> 八进制 :"+num+"->"+b )
      print("十进制 -> 二进制 : "+num+"->"+c )
else:
    print('请输入一个整数(输入Q结束程序):')


为啥会出错呢。。。

kylin121380 发表于 2020-8-4 18:18:49

本帖最后由 kylin121380 于 2020-8-4 18:19 编辑

1.int和str 2.c和C 3.输不输入Q都会结束
temp = input('请输入一个整数(输入Q结束程序):')


while temp != 'Q':
    try:
      temp = int(temp)
    except:
         break
    a ="%x"% temp
    b ="%o"% temp
    c ="%d"% temp
    print("十进制 -> 十六进制 :"+str(temp)+"->"+str(a) )
    print("十进制 -> 八进制 :"+str(temp)+"->"+str(b) )
    print("十进制 -> 二进制 : "+str(temp)+"->"+str(c) )

    temp = input('请输入一个整数(输入Q结束程序):')

print('程序结束')

小小鹏 发表于 2020-8-4 18:34:24

kylin121380 发表于 2020-8-4 18:18
1.int和str 2.c和C 3.输不输入Q都会结束
temp = input('请输入一个整数(输入Q结束程序):')



谢谢你!但是我想问一下 为什么在这个代码print(name + '的得分是:', each) 中 each和name 不需要加str呢?
name = input('请输入待查找的用户名:')
score = [['迷途', 85], ['黑夜', 80], ['小布丁', 65], ['福禄娃娃', 95], ['怡静', 90]]
IsFind = False

for each in score:
    if name in each:
      print(name + '的得分是:', each)
      IsFind = True
      break
   
if IsFind == False:
    print('查找的数据不存在!')

kylin121380 发表于 2020-8-4 18:42:26

小小鹏 发表于 2020-8-4 18:34
谢谢你!但是我想问一下 为什么在这个代码print(name + '的得分是:', each) 中 each和name 不需要 ...

input返回的是str,每个each是score中的['xx',xx],each就是‘xx’也就是str

小小鹏 发表于 2020-8-4 19:04:25

kylin121380 发表于 2020-8-4 18:42
input返回的是str,每个each是score中的['xx',xx],each就是‘xx’也就是str

噢噢好的好的,谢谢~

小小鹏 发表于 2020-8-4 19:06:47

小小鹏 发表于 2020-8-4 19:04
噢噢好的好的,谢谢~

each 不是返回的数字吗?是xx而不是“xx”吗

kylin121380 发表于 2020-8-4 20:38:32

小小鹏 发表于 2020-8-4 19:06
each 不是返回的数字吗?是xx而不是“xx”吗

看错了。字符串只能和字符串相加,这里用逗号隔开了,所以是int也没事,建议你先看一下int,str,list,dict这些基础的东西

小小鹏 发表于 2020-8-5 16:45:52

kylin121380 发表于 2020-8-4 20:38
看错了。字符串只能和字符串相加,这里用逗号隔开了,所以是int也没事,建议你先看一下int,str,list,dict ...

好哒好哒谢谢~
页: [1]
查看完整版本: 求助进制代码