Python 输入的数字与标准圆周率对应位数完全匹配

30 阅读1分钟
# 首先识别输入的内容,看起来是圆周率π的部分数字,中间有下划线分隔
# 先整理并展示完整的数字序列,然后计算相关信息(如长度、验证是否为π的正确位数) 

import math 

# 输入的数字字符串
input_str = "3.1415926_5358979" 

# 去除下划线并整理 
cleaned_str = input_str.replace("_", "") 
print(f"整理后的数字: {cleaned_str}") 

# 计算数字长度(包含小数点) 
length = len(cleaned_str) 
print(f"数字总长度(含小数点): {length}") 

# 提取纯数字部分(去除小数点) 
digits_only = cleaned_str.replace(".", "") 
print(f"纯数字部分: {digits_only}") 
print(f"纯数字位数: {len(digits_only)}") 

# 对比标准圆周率的对应位数 
pi_str = str(math.pi)[:len(cleaned_str)] 
print(f"标准圆周率前{len(cleaned_str)-1}位小数: {pi_str}") 

# 验证输入的数字是否与标准π匹配 
if cleaned_str == pi_str: 
    print("✅ 输入的数字与标准圆周率对应位数完全匹配") 
else: 
    print("❌ 输入的数字与标准圆周率对应位数不匹配") 
    
    
# 找出差异位置 

for i, (c1, c2) in enumerate(zip(cleaned_str, pi_str)): 
    if c1 != c2: 
        print(f"差异位置 {i}: 输入为'{c1}', 标准π为'{c2}'")