关于零基础学python第二讲里的一道题
编写程序:calc.py 要求用户输入1到100之间数字并判断,输入符合要求打印“你妹好漂亮”,不符合要求则打印“你大爷好丑”temp=input("请输入1到100之间的一个数字:")
numb=int(temp)
if 1 <= numb <= 100:
print("你妹真漂亮")
else:
print("你大爷真丑")
就是大概在这个里面,为什么第二行一定要把temp设置为整数?不是说只要1到100之间都可以吗,那如果是20.1这种应该也符合
这里小白一枚 求不嫌弃解解答 本帖最后由 heidern0612 于 2019-1-13 13:16 编辑
因为input内容输出的是字符串,不把temp设置成整数,没办法跟数字进行比较(类型都不一样,如何进行比较?)。
另外你int之后,temp就变成了整型了,整型不包括小数,你要是猜小数的话,就不太严谨了,小数点后面多少位你能查清吗? heidern0612 发表于 2019-1-13 13:12
因为input内容输出的是字符串,不把temp设置成整数,没办法跟数字进行比较(类型都不一样,如何进行比较? ...
你好 你的意思是 因为要和1,100比大小,而它们都是整数,所以我用来比较的输入的值也必须是整数,否则不同类无法比较? deku_desu 发表于 2019-1-13 13:28
你好 你的意思是 因为要和1,100比大小,而它们都是整数,所以我用来比较的输入的值也必须是整数,否则不 ...
你不转成整数转成浮点数应该也可以,因为输入的是字符串,得把字符串转成数字 Amor167 发表于 2019-1-13 14:26
你不转成整数转成浮点数应该也可以,因为输入的是字符串,得把字符串转成数字
emmm听起来好复杂
小白表室还是老老实实按答案来吧 deku_desu 发表于 2019-1-13 13:28
你好 你的意思是 因为要和1,100比大小,而它们都是整数,所以我用来比较的输入的值也必须是整数,否则不 ...
对,因为你外面比较的就是整数(if的前后,前是0后面是100)。
或者你就全部转换为浮点数,也就是小数。
numb=flouttemp=input("请输入1到100之间的一个小数:")
numb=float(temp)
if 1 <= numb <= 100:
print("你妹真漂亮")
else:
print("你大爷真丑") 额,这个是长期更新的还是啥,还有,课后习题在哪,谁能给我说一下 失恋者联盟 发表于 2019-1-13 16:37
额,这个是长期更新的还是啥,还有,课后习题在哪,谁能给我说一下
https://fishc.com.cn/forum.php?mod=forumdisplay&fid=243&filter=typeid&typeid=398 本帖最后由 13572044595 于 2019-1-13 21:38 编辑
可以的,小数点也可以,把下面代码改一下:
源码: 小数会报错
temp=input("请输入1到100之间的一个数字:")
numb=int(temp)
if 1 <= numb <= 100:
print("你妹真漂亮")
else:
print("你大爷真丑")
修改后: 小数不会报错
temp=input("请输入1到100之间的一个数字:")
numb=eval(temp)
if 1 <= numb <= 100:
print("你妹真漂亮")
else:
print("你大爷真丑")
int() -- 不能直接整型 字符串类型
eval() -- 把元素当代码来处理,也可以理解为这个函数就是 去掉两边的 引号,或者得到输入的原始数据
>>> int(12.1)
12
>>> int('12.1')
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
int('12.1')
ValueError: invalid literal for int() with base 10: '12.1'
>>> eval('12.1')
12.1
>>> 13572044595 发表于 2019-1-13 21:24
可以的,小数点也可以,把下面代码改一下:
源码: 小数会报错
学到了
eval的用法 李小控 发表于 2019-1-13 21:48
学到了
eval的用法
小甲鱼的视频我看到37讲,也没有见他讲这个 eval() 函数,可能后面会讲,也许不会吧 13572044595 发表于 2019-1-13 21:24
可以的,小数点也可以,把下面代码改一下:
源码: 小数会报错
eval()是什么意思?怎么感觉和print()有点像,就是你举的eval(‘12.1’)这个例子里面 本帖最后由 13572044595 于 2019-1-13 22:42 编辑
deku_desu 发表于 2019-1-13 22:39
eval()是什么意思?怎么感觉和print()有点像,就是你举的eval(‘12.1’)这个例子里面
怎么可能像呢?
一个是输入
一个是输出
http://www.runoob.com/python/python-func-eval.html {:10_254:} deku_desu 发表于 2019-1-13 22:39
eval()是什么意思?怎么感觉和print()有点像,就是你举的eval(‘12.1’)这个例子里面
哦哦 这两者还是有很大区别的
还有就是 我试了一下 好像eval()里面不能打字母 只能打数字?
temp=input("请输入1到100之间的一个数字:")
temp1=eval(temp)
integral=int(temp1)
if 1 <= integral <= 100 and integral==temp1:
print("你妹真漂亮")
else:
print("你大爷真丑")
这个小数整数情况都考虑进去了
页:
[1]