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(): # 替换为空即可。

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐