python中input的用法 input在括号中输出错误字符

我将在学习Python的路上,一路狂奔……
我的python学习虽说是刚刚起步,可是跳的坑却是真多啊。
如下的代码:
input("请输入你猜测的数字: ")
print(guess)
编码设置的是utf-8
输入的中文,输出的是乱码
请输入你猜测的数字: 好的
排查原因:
集成开发环境,eclipse+pydev+python
eclipse的编码格式设置utf-8
python脚本的编码格式utf-8
可是为何还是乱码,我真的是走投无路了啊!!!
PS:【而且在公司的开发环境中是木有乱码的】
真的是在帖子的角落里翻出了宝藏啊
不管行不行,有方法咱就得试试啊,死马当活马医呗
input("请输入你猜测的数字: ")
print(guess)
请输入你猜测的数字: 好的
问我原因,我只能说不知道,我原本只是想好好在这条路上走,只想轻轻的取一瓢饮,不要求深入,略知足矣,却是为何这般难呢。
Python 2.7中文显示与处理
关于python中文乱码很好的一篇文章
Python — 文字输出乱码
Python 打印中文字符的三种方法
python中使用print输出中文
没有更多推荐了,在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
test = input('TT &&').strip()
print(type(test))
print(type('TT'))
print(id(test))
print(id('TT'))
if test is "TT":
print('Yes')
上面的代码运行后,结果为
&class 'str'&
&class 'str'&
我在输入那里写了字符串'TT',按道理变量这里获取到的就是字符串'TT',python的字符串类型是不可变,为什么我这里得到的 id 却不相同?
另一端测试代码
tt2 = 'TT'
tt3 = 'TT'
print(id(tt2))
print(id(tt3))
得到结果:
这里的id 就相同,难道input函数得到的返回值和这样直接赋值字符串有所不同吗?
环境是MAC下运行python3
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
==和is如何选择?
==运算符比较两个对象的值,可以使用__eq__魔术方法重载实现自定义比较。is比较两个对象的id标识,不能重载,通常用于变量和单例值直接的比较,比如is None。
为什么有时id相同?
首先id并不会因为是不可变类型就相同。Cpython有一种叫驻留(interning)的细节优化手段,会为字符串还有小的整数做出优化,共享同一个引用。但是注意这种优化既不适用不可变类型,也不适用所有的字符串和整数,具体情况参考源码实现。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
根据 python 官方文档, id() 函数解释如下
In [1]: id?
Signature: id(obj, /)
Docstring:
Return the identity of an object.
This is guaranteed to be unique among simultaneously existing objects.
(CPython uses the object's memory address.)
builtin_function_or_method
用 input() 函数返回的是动态创建的字符串,它的内存地址不是预知的。而 tt2 = 'TT'; tt3 = 'TT';
这种, python 解释器只会保存第一个 ‘TT’ 字符串,第二个 ‘TT’ 被引向前面那个。因此它们的 id() 结果相同。改变 tt2 或 tt3 将导致新的字符串产生,而不会改变 ‘TT’ 内容。
分享到微博?
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。python的一个小程序,来巩固一下课上学习的知识,我这里使用的是python2.7的版本,当然如果是python3的话就另说了
python2.7使用的教程是这样
# -*- coding: utf-8 -*-
yname = input("请输入您的姓名:")
print('你好,' + yname + '!')
这个时候,就会报错了
原因是什么,我也不知道啊!!!(抱歉,小白一个,刚学o(╥﹏╥)o)
但是当我把它切换成raw_input函数的时候,就可以了
yname = raw_input("请输入您的姓名:")
print('你好,' + yname + '!')
效果如下:
百度了一下这两个函数的区别:
raw_input() 直接读取控制台的输入(任何类型的输入它都可以接收)。而对于 input() ,它希望能够读取一个合法的 python 表达式,即你输入字符串的时候必须使用引号将它括起来,否则它会引发一个 SyntaxError 。
文章也发下:http://www.jb51.net/article/67721.htm
python2.x中raw_input()和python3.x中input()的区别
Python_输入raw_input就会出错?
Python使用'input'读取输入文本出现NameError错误
python错误之NameError
python新手常见的报错提示
python3中input的问题
name 'raw_input' is not defined(Python 报错)
Python3中的input函数
Python input()函数
没有更多推荐了,查看: 728|回复: 3
[已解决]什么函数可以让input输入的数值变成整型,而不会是字符串
马上注册加入鱼C,享用更多服务吧^_^
才可以下载或查看,没有帐号?
什么函数可以让input输入的数值变成整型,而不会是字符串,且不改变数的本身。
目前所知道的int会向下取整,在一些运算时候不好用。
float(input())?
From FishC Mobile
int(input(数值))
&&&本楼为最佳答案&&&
float(input())?
float(input())?
谢谢,我弄错了,其实问题里应该是问浮点型才对,谢谢啦
小甲鱼强烈推荐 /1
新的视频新的面貌,希望大家喜欢 (≧∇≦)ノ
- - - - - - - - - - - -
新课程,新体验!
Powered bypython input得到的变量转换抛出异常
[问题点数:40分,结帖人wzx]
本版专家分:0
结帖率 98.98%
CSDN今日推荐
本版专家分:0
本版专家分:0
本版专家分:3930
2015年6月 扩充话题大版内专家分月排行榜第三2015年4月 扩充话题大版内专家分月排行榜第三
本版专家分:3930
2015年6月 扩充话题大版内专家分月排行榜第三2015年4月 扩充话题大版内专家分月排行榜第三
本版专家分:15
匿名用户不能发表回复!
其他相关推荐

我要回帖

更多关于 input()python 的文章

 

随机推荐