【python】关于input语句和数值大小判断的问题

关于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 系统中。

我个人倾向使用powershell,因为可以直接在文件的路径打开命令窗口,方便程序的执行。
  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lys_828

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值