关于Sublime
Sublime里面尽量不要运行带有input()语句的程序!
Sublime里面尽量不要运行带有input()语句的程序!
Sublime里面尽量不要运行带有input()语句的程序!
重要的事情说三遍。
input()语句
age = input('请输入年龄:')
print(type(age))
无论输入的是什么,即便是直接按住enter键运行,最后输出的还是<class ‘str’>,而str数据类型是不能进行比较(= 、<、>等)或者算数运算(+ 、- 、 * 、 /等)等的操作。
问题一:直接进行比较运算
报错TypeError: ‘<’ not supported between instances of ‘str’ and
问题二:直接进行算数运算
报错TypeError: can only concatenate str (not “int”) to str
查看两个报错类型可知,这两种错误都是属于TypeError(类型错误),解决的方法就是将字符串类型转变成为数值类型。方案有两种。一种是int()方法,一种是eval()方法
方案一:int()方法,将其他数值字符串转化为整型数值
age = int(input('请输入年龄:'))
print(type(age))
只要输入的是数值,最后输出的都是整型:<class ‘int’>,就可以进行比较运算和算数运算了,如果输入的不是数值,就会报错。
方案二:eval()方法,去掉数据两端的引号
age = eval(input('请输入年龄:'))
print(type(age))
当输入的是数值时,运行程序会把两端的引号去掉,赋值的变量的类型就变成整型(假如是整数),和上面的方案一的区别在于,如果输入的不是数值,报错的类型是不同的。方案一显示的是赋值错误:ValueError;方案二显示的是命名错误:NameError。
示例
判断输入的信息,并根据输入的内容输出,代码如下:
age = int(input('请输入您的年龄:'))
gender = input("请输入您的性别(F/M):")
print('***您今年的运势***')
if gender == 'F' and age < 20:
print('你会考上清华并找到一个男朋友')
elif gender == 'M' and age < 20:
print('你会考上清华并找到一个女朋友')
else:
print('你会发财')
Sublime不运行input语句,可以选择使用cmd(powershell)和idle运行。
cmd下运行代码
使用快捷键(win+r),调出cmd窗口,然后将路径指引到放文件夹的地方,然后输入python 文件名.py
Powershell下运行代码
在文件放置的空白地方,同时点击shift 和鼠标右键,弹出窗口后,选择选项"在此处进入powershell窗口",然后直接输入python 文件名.py(假如是在桌面,鼠标不要触碰桌面任何文件,同时点击shift 和鼠标右键,弹出窗口后,选择选项进入powershell窗口)
IDLE下运行代码
将代码用idle编辑器打开,保存后直接按F5即可运行代码
至此,整个程序就顺利的运行了。powershell是啥?和cmd有什么区别?可以参考这个解答:powershell和cmd的区别。搬运第一段的内容:在windows上cmd和powershell都是命令行执行窗口,Powershell 从 Windows7 时代开始内置于 Windows 系统当中,可以看作是微软对 cmd 的大升级,目前两者并存于 Windows 系统中。