niuniuniu666 发表于 2021-9-9 11:13:16

关于《零基础入门学习Python》课后作业15

本帖最后由 niuniuniu666 于 2021-9-9 11:28 编辑

动动手的题目:
编写一个进制转换程序,程序演示如下(提示,十进制转换二进制可以用bin()这个BIF):
https://img-blog.csdnimg.cn/20200618165104911.png
{:10_329:}{:10_329:}{:10_329:}{:10_329:}{:10_329:}{:10_329:}
我写的程序如下:使用字符串输出,使用的continue语句返回循环。
while True:
    temp = input('请输入一个整数(输入Q结束程序):')
    if temp == 'Q':
      break
    if temp.isdigit() == True:
      num = int(temp)
      print('十进制 -> 十六进制:',num,'->','0x%x' % num)
      print('十进制 -> 八进制:',num,'->','0o%o' % num)
      print('十进制 -> 二进制:',num,'->',bin(num))
      continue{:10_302:}{:10_302:}{:10_302:}{:10_302:}{:10_302:}{:10_302:}
小甲鱼的程序如下:使用字符串格式化符号输出,使用bool值终止循环。
q = True
while q:
    num = input('请输入一个整数(输入Q结束程序):')
    if num != 'Q':
      num = int(num)
      print('十进制 -> 十六进制 : %d -> 0x%x' % (num,num))
      print('十进制 -> 八进制 : %d -> 0o%o' % (num,num))
      print('十进制 -> 二进制 : %d -> ' % num,bin(num))
    else:
      q = False{:10_291:}{:10_291:}{:10_291:}{:10_291:}{:10_291:}{:10_291:}
这两种都行,但是为什么下面的代码不行:使用字符串格式化符号输出,使用continue返回循环。
while True:
    temp = input('请输入一个整数(输入Q结束程序):')
    if temp == 'Q':
      break
    if temp.isdigit() == True:
      num = int(temp)
      print('十进制 -> 十六进制: %d -> 0x%x' % (num, num)
      print('十进制 -> 八进制: %d -> 0o%o' % (num, num))
      print('十进制 -> 二进制: %d -> ' % num, bin(num))
      continue

傻眼貓咪 发表于 2021-9-9 11:21:11

continue 是繼續的意思,不是終止,而且你的 print() (第7行)少了括號 ')'

niuniuniu666 发表于 2021-9-9 11:26:59

傻眼貓咪 发表于 2021-9-9 11:21
continue 是繼續的意思,不是終止,而且你的 print() (第7行)少了括號 ')'

谢谢提醒
我扫了好几遍都没有发现,正反括号还是得一起打{:10_278:}

傻眼貓咪 发表于 2021-9-9 12:05:27

niuniuniu666 发表于 2021-9-9 11:26
谢谢提醒
我扫了好几遍都没有发现,正反括号还是得一起打

{:5_108:}
页: [1]
查看完整版本: 关于《零基础入门学习Python》课后作业15