python学习-综合练习二(整数和浮点数判断奇偶、质数判断)
文章目录判断数字判断质数说明:本篇博文的知识点大部分来自 Python3 实例判断数字判断数字可以使用:str1 = '123'def isNum(s):try:import unicodedataunicodedata.numeric(s)print(True)except(TypeError, ValueError):print(False)isNum(str1)print(str1.is
·
说明:本篇博文的知识点大部分来自 Python3 实例
判断数字
判断数字可以使用:
str1 = '123'
def isNum(s):
try:
import unicodedata
unicodedata.numeric(s)
print(True)
except(TypeError, ValueError):
print(False)
isNum(str1)
print(str1.isdigit())
print(str1.isnumeric())
print(isinstance(str1, int))
我发现在python里面,不少函数调用,编译就会报错,需要使用try包起来。
像unicodedata.numeric(s)就是,如果不用try包起来,传入参数类型不对,编译就报错了。
用isdigit() 和 isnumeric()来判断字符串是否只由字符串组成。
不过isnumeric() 只针对unicode对象,这个大家使用时需要注意。
然后我还发现一个很简便的判断类型的方法:
直接对输入的数值进行强制类型转换,转成int,然后使用try包起来,如果进入except,则表示输入的不是纯整数。
def inputOod():
str3 = input('输入数值:\n')
try:
num = int(str3)
print('{} 是 '.format(num) + ('偶数.' if num % 2 == 0 else '奇数.'))
except ValueError:
try:
num = float(str3)
print('{} 是 '.format(num) + ('偶数.' if num % 2 == 0 else '奇数.'))
except ValueError:
print("输入的不是数值!")
inputOod()
为了判断输入的数值是否是奇偶数,并且整数和小数都需要判断,这里使用try来处理,是我搜寻了好久,最直接,也是最简单的方式了。
然后本示例代码里面,还有一个很有意思的地方,在format里面,可以使用条件判断拼接的字符串。
int3 = 10
print('{} 是 '.format(int3) + ('偶数.' if int3 % 2 == 0 else '奇数.'))
这里的写法也是很新奇的。
'偶数.' if int3 % 2 == 0 else '奇数.'
大家以后也可以使用这种方式简化代码。
判断质数
try:
num = int(input("请输入一个数字: "))
if num > 1:
for i in range(2, num):
if (num % i) == 0:
print(num, "不是质数")
print(i, "乘于", num // i, "是", num)
break
else:
print(num, "是质数")
else:
print(num, "不是质数")
except ValueError:
print("输入的不是整数!")
首先对输入类型进行强转,使用try保护,然后循环取余,除了1和本身,某个数值能整除,那就说明不是质数。
运行结果:
更多推荐
已为社区贡献3条内容
所有评论(0)