鱼C论坛

 找回密码
 立即注册
查看: 2109|回复: 14

各位大哥大姐问个问题?

[复制链接]
发表于 2017-2-6 23:05:28 | 显示全部楼层 |阅读模式

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

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

x
Python中的变量必须要赋予初值吗?
例如如下两种方式
example1:
temp=input('初值:’)
guss=int(temp)  
结果不会报错  


example2:
temp=input('初值:')
if  temp.isdigit():
                guss=int(temp)
却会报错了。。。。
报错提示guss 没有定义  为什么上面的就可以  这里引用了一个isdigit()函数就会报错了?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-2-7 00:49:42 | 显示全部楼层
例2中input返回的值是int一类的,,而isdigit需要的是str字符串类型你把input改成raw_input试试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 0 反对 1

使用道具 举报

 楼主| 发表于 2017-2-7 08:23:56 | 显示全部楼层
萝莉·麦丘利 发表于 2017-2-7 00:49
例2中input返回的值是int一类的,,而isdigit需要的是str字符串类型你把input改成 ...

不对的 朋友你肯定理解错了  input 返回不可能只是int型  下面代码  有一个强制转换guss=int(temp)  这个就是把任何的字符串型或者非字符串变成数字
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-2-7 08:31:14 | 显示全部楼层
清风揽月shine 发表于 2017-2-7 08:23
不对的 朋友你肯定理解错了  input 返回不可能只是int型  下面代码  有一个强制转换guss=int(temp)  这 ...

你用的是python2还是python3?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-2-7 09:33:39 | 显示全部楼层
example2 guss缩进不对吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-2-7 13:04:54 | 显示全部楼层
清风揽月shine 发表于 2017-2-7 08:23
不对的 朋友你肯定理解错了  input 返回不可能只是int型  下面代码  有一个强制转换guss=int(temp)  这 ...

我把你的代码运行了一下改成raw_input完全没问题呀
38.png
1.png

评分

参与人数 1鱼币 +5 收起 理由
清风揽月shine + 5 送你鱼币 你应该可以用的上

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2017-2-7 14:39:04 | 显示全部楼层
是,因为赋初值其实相当于定义了这个变量并且给了这个变量的初始值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-2-7 15:13:55 | 显示全部楼层
冬雪雪冬 发表于 2017-2-7 08:31
你用的是python2还是python3?

Python3  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-2-7 15:14:36 | 显示全部楼层
浅笑无痕111 发表于 2017-2-7 09:33
example2 guss缩进不对吧

不是缩进的问题  报错提示guss未定义
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-2-7 15:15:45 | 显示全部楼层
萝莉·麦丘利 发表于 2017-2-7 13:04
我把你的代码运行了一下改成raw_input完全没问题呀

raw表示什么意思呢  请问一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-2-7 15:16:36 | 显示全部楼层
五行缺五行 发表于 2017-2-7 14:39
是,因为赋初值其实相当于定义了这个变量并且给了这个变量的初始值

嗯嗯 这个我知道  可是有的地方需要赋予初值有的地方 不需要 有点困惑
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-2-7 15:25:25 | 显示全部楼层
萝莉·麦丘利 发表于 2017-2-7 13:04
我把你的代码运行了一下改成raw_input完全没问题呀

你是不是以为我用的是Python2    Python3是默认input输入为字符串的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-2-7 16:00:50 | 显示全部楼层
我在python3.5.2下试了,没有问题。除了第一行右括号你写成全角中文的了。
1.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-2-7 17:37:23 | 显示全部楼层
清风揽月shine 发表于 2017-2-7 15:15
raw表示什么意思呢  请问一下

py3的话你不用考虑,,那个在3以上后input盒raw_input合并了。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-2-8 08:40:33 | 显示全部楼层
冬雪雪冬 发表于 2017-2-7 16:00
我在python3.5.2下试了,没有问题。除了第一行右括号你写成全角中文的了。

谢谢  啊 是这个样子的  不知道当时为什么就会报错 现在我运行又是好的了  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-24 12:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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