4.1猜数 import random n=0 while True: n=n+1 s1=random.randint(0,9) s2=eval(input('请猜数:\n')) if s2<s1: print('很遗憾,小了') elif s2>s1: print("很遗憾,大了") else: print("预测{}次,你猜对啦!".format(n)) break 4.2统计字符串中字母,数字,空格,其他字符个数 str=input("请输入字符串:") a,b,c,d=0,0,0,0 for i in str: if (i>='0')&(i<='9'): b=b+1 elif ((i>='a')&(i<='z'))|((i>='A')&(i<='Z')): a=a+1 elif i==' ': c=c+1 else: d=d+1 print("字母个数:{},数字个数:{},空格个数:{},其他字符个数:{}".format(a,b,c,d)) 4.3最大公约数,最小公倍数 import math a=eval(input("a=")) b=eval(input("b=")) c=math.gcd(a,b) d=a*b/c print("{},{}的最大公约数:{};{},{}的最小公倍数:{}".format(a,b,c,a,b,int(d))) 4.5带异常处理的猜数 import random n=0 while True: try: n = n + 1 s2 = eval(input('请猜数:\n')) except: n=n+1 s2 = eval(input('请重新猜数,需要输入的是数字:\n')) finally: s1 = random.randint(0, 9) if s2 < s1: print('很遗憾,小了') elif s2 > s1: print("很遗憾,大了") else: print("预测{}次,你猜对啦!".format(n)) break