python - 为什么我的具体实现不能从函数返回中间字母?
问题描述
目的是返回字符串的中间字母,或者" "
如果字符串是偶数。我不明白为什么我的代码不起作用。任何形式的澄清都会很棒,谢谢!
def mid(ml):
x=len(ml)
y=x+1
z=y/2
if isinstance(z,int)==True:
return (ml[z-1])
else:
return (" ")
print (mid("abc"))
解决方案
/
不返回int
; 即使它返回的数字可以表示为一:
>>> 4 / 2
2.0 # A float
最好明确检查数字是否为偶数:
# Read as: "If z is odd", or, "If division of z by 2 has a remainder of 1"
if z % 2 == 1:
return ml[z-1]
else:
return " "
推荐阅读
- javascript - Laravel 的奇怪行为 - 反应路由器和返回按钮
- javascript - 如何将数据存储在 json 文件中?
- mysql - 是否可以生成更多表的 MYSQL 查询,其中一个表列的值作为更多查询列?
- go - 如何从结构中指定我们想要使用的字段?
- web-services - .NET 的简单 HTTP 服务器库
- javascript - 给定 url 字符串、参数、响应代码和 JSON 中的响应,以最大的灵活性伪造后端的方法
- postgresql - Postgresql CHECK IN 列表约束的自定义错误消息
- python - 在 Django 中为 BooleanField 使用不同的数据库值
- java - 带有 RoutingConnectionFactory 的 Spring RabbitListener
- elasticsearch - 从脚本 ElasticSearch/Painless 中的 aggs 获取结果