鱼C论坛

 找回密码
 立即注册
查看: 1910|回复: 10

[已解决]关于格式化整数内置函数int的区别

[复制链接]
发表于 2020-2-11 14:47:32 | 显示全部楼层 |阅读模式

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

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

x
想知道 num = '%d' % 100 和 num = int(100)在性质上有什么区别吗???
大神可以指点一下吗!
最佳答案
2020-2-11 14:49:34
有区别,第一个有引号,而第二个没有:

  1. >>> num  = "%d" % 100
  2. >>> num
  3. '100'
  4. >>> print(num)
  5. 100
  6. >>> num = int(100)
  7. >>> num
  8. 100
  9. >>> print(num)
  10. 100
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-2-11 14:49:34 | 显示全部楼层    本楼为最佳答案   
有区别,第一个有引号,而第二个没有:

  1. >>> num  = "%d" % 100
  2. >>> num
  3. '100'
  4. >>> print(num)
  5. 100
  6. >>> num = int(100)
  7. >>> num
  8. 100
  9. >>> print(num)
  10. 100
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-11 14:55:17 | 显示全部楼层
一个账号 发表于 2020-2-11 14:49
有区别,第一个有引号,而第二个没有:

那第一个有引号输出的类型是字符串吗 还是属于数字类型
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-11 14:55:41 From FishC Mobile | 显示全部楼层
格式化都是针对字符串的
int也是需要参与计算的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-11 15:00:20 | 显示全部楼层
其实我在写题目遇到这个问题
print('请输入一个整数(输入Q结束程序):',end = ' ')
temp = input()
num = int(temp)
mun = int(temp)
while 1:
    shiliu = '%#X' % num
    num = '%d' % num
    print('十进制 -> 十六进制:'+ num+ "->"+shiliu )
    break
当我写入 num = '%d' % num 是程序才会运行,我把 num = '%d' % num去掉的时候,程序就会报错,可是我一开始不是已经把num用int函数修改了吗?为什么还需要这个编码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-11 15:01:52 | 显示全部楼层
小白期望变大神 发表于 2020-2-11 14:55
那第一个有引号输出的类型是字符串吗 还是属于数字类型

是字符串
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-11 15:05:32 | 显示全部楼层
小白期望变大神 发表于 2020-2-11 14:55
那第一个有引号输出的类型是字符串吗 还是属于数字类型

第一个是属于字符类型的,第二个是属于整数类型
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-2-11 15:06:40 | 显示全部楼层
小白期望变大神 发表于 2020-2-11 15:00
其实我在写题目遇到这个问题
print('请输入一个整数(输入Q结束程序):',end = ' ')
temp = input()

因为你最后要输出一个字符串
格式化操作符就可以帮你做到这一点
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-11 15:08:42 | 显示全部楼层
而且字符串拼接需要两边都是字符串
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-11 15:13:38 | 显示全部楼层
小白期望变大神 发表于 2020-2-11 15:00
其实我在写题目遇到这个问题
print('请输入一个整数(输入Q结束程序):',end = ' ')
temp = input()

需要将 num 先转化为字符串才可以和字符串拼接。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-11 15:28:44 From FishC Mobile | 显示全部楼层
楼上说的都对,你搞混概念了,int(x)是转换x的数据类型,不是格式化字符串。而格式化字符串意思是按某种数据类型的显示格式来显示字符串,本质上它是字符串。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-3 14:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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