str.isdigit() 是个很好的工具,用来判断字符串中是否全为数字。而浮点数因为有 \".\" ,所以会返还FALSE。
参考示例:
# 提示用户输入圆的半径,计算出该圆的周长和面积。要求如下:
# 圆周率 π 值取 3.1415926
# 如果输入的是负数和零,提示半径不能负数或者零
# 计算机的结果保留两位小数
if __name__ == \"__main__\":
PI = 3.1415926
radius = input(\"请输入圆的半径:\")
print(radius)
print(radius.isdigit())
if radius.isdigit():
radius = float(radius)
# 计算元的周长和面积
circle_perimeter = 2 * PI * radius
circle_area = PI * radius * radius
print(\"圆的周长:%.2f \\n圆的面积:%.2f\" % (circle_perimeter, circle_area))
else:
print(\"半径不能负数或者零\")
以上在输入半径:12.3 就会报错 。
此时需要replace() 方法语法:
str.replace(old, new[, max])
参数
- old -- 将被替换的子字符串。
- new -- 新字符串,用于替换old子字符串。
- max -- 可选字符串, 替换不超过 max 次
if radius.replace(\".\", \"\").isdigit(): # 替换为空即可。
继续阅读与本文标签相同的文章
上一篇 :
低配手机也能玩的高画质游戏 好游戏可不能错过
-
中小型企业运维之路
2026-05-18栏目: 教程
-
云原生生态周报 Vol. 19 | Helm 推荐用户转向 V3
2026-05-18栏目: 教程
-
使用自定义指标进行Pod弹性伸缩
2026-05-18栏目: 教程
-
3个点说清楚分库分表扩容问题
2026-05-18栏目: 教程
-
RocketMQ 多副本前置篇:初探raft协议
2026-05-18栏目: 教程
