首页  >  问答  >  正文

小白学python的问题 关于%d和%s的区别

第一段代码:

# -*- coding:gb2312 -*-
age=18
print("====================")
print("你的年龄是:%d"%age)

第一段代码的执行结果:

===========分隔符===========================

第二段代码:

# -*- coding:gb2312 -*-
age=18
print("====================")
print("你的年龄是:%s"%age)

第二段代码的执行结果:

===========分隔符===========================

第三段代码:

# -*- coding:gb2312 -*-
age=input("请输入您的年龄:")
print("您的年龄是:%d"%age)

第三段代码的执行结果:

===========分隔符===========================

第四段代码:

# -*- coding:gb2312 -*-
age=input("请输入您的年龄:")
print("您的年龄是:%s"%age)

第四段代码的执行结果:

我的问题:

为什么第一段代码和第二段代码当中,不管是写%d还是写%s执行结果都是一样的,而在第三段代码和第四段代码中,写%d还是写%s执行结果不一样? 问题出在哪里,为什么第三段代码是错误的?(PS:我的python版本是3.5.1。 用的编辑器是Geany)

仅有的幸福仅有的幸福2711 天前613

全部回复(2)我来回复

  • 漂亮男人

    漂亮男人2017-05-18 10:45:55

    python不像C语言,声明变量是不需要指定类型的,它会自动判定变量的类型,从键盘输入的都是字符串类型,要用int转换。去查一下变量赋值,输入输出你就明白了。

    回复
    0
  • 迷茫

    迷茫2017-05-18 10:45:55

    input 输入进去默认都是字符串,需要使用%s
    可以用int() 转换为数字,用%d

    回复
    0
  • 取消回复