到底从不从 发表于 2019-4-20 20:00:48

请教变量定义

老师请问:
name = input("请输入您的姓名:")
print('你好,' + name + '!')
这个name不用定义变量类型,就是可以直接打印出来,
那为什么
temp = input("请输入1到100之间的数字:")
num = int(temp)
if 1 <= num <= 100:
    print('你妹好漂亮^_^')
else:
    print('你大爷好丑T_T')
中的temp要定义为数字整型才可以用?

迷雾少年 发表于 2019-4-20 20:07:45

python动态类型语言 变量类型可以在运行中不断变 所以也不用定义类型了 直接拿来用就行   区别与编译型语言编译时就确定类型动态类型一时爽 一直动一直爽 个人理解

wp231957 发表于 2019-4-20 20:29:20

因为python 在使用变量时 并不需要预先声明变量类型
所以你说的 “中的temp要定义为数字整型才可以用?”这个是错误的 并不是要定义为数值型

而是因为我们要对该变量进行数学运算,所以用int() 进行强制转换为舍捏呢? 因为input 得到的变量 一直都是str类型的

jackz007 发表于 2019-4-20 21:03:08

      在 Python 中,除了在指定变量作用域的时候,需要特别说明传入变量和全局变量,在其他情况下,变量一律不需要定义。

13572044595 发表于 2019-4-20 23:04:33

你感觉 str类型 和 int类型 能直接去 比较大小吗?

wwhywhy 发表于 2019-4-21 00:17:44

不能啊。不同类型之间,是需要转换到一致的情况下才能比较的。

美味越光米 发表于 2019-4-21 08:15:24

因为因为if 1 <= num <= 100 这句中num要和数字作比较,所以这里吧temp的值转换为整形赋值给num,而temp还是字符串,它并不是整形的。

Cookie0 发表于 2019-4-21 15:42:48

print可以打印任何格式的变量,
比较的时候要整型才能出大小,str是不能用来比较的。

到底从不从 发表于 2019-4-22 21:03:47

谢谢~~明白了,要对变量进行对比时才要int
页: [1]
查看完整版本: 请教变量定义