String Analysis and JSON Output

  • Share this:

Code introduction


This function takes two string arguments, checks if they are strings, extracts numbers from them, calculates the average of these numbers, generates a random string, gets the current system time, stores this information in a dictionary, and finally returns the dictionary as a JSON string.


Technology Stack : os, sys, re, json, time, math, random

Code Type : Function

Code Difficulty : Intermediate


                
                    
import os
import sys
import re
import json
import time
import math
import random

def generate_random_string(length):
    letters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
    return ''.join(random.choice(letters) for i in range(length))

def xxx(arg1, arg2):
    # 检查输入是否为字符串
    if not isinstance(arg1, str) or not isinstance(arg2, str):
        raise ValueError("Both arguments must be strings.")
    
    # 使用正则表达式提取字符串中的数字
    numbers = re.findall(r'\d+', arg1 + arg2)
    
    # 将字符串转换为列表
    combined = list(arg1 + arg2)
    
    # 使用os模块获取当前系统时间
    current_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
    
    # 使用math模块计算数字的平均值
    average = sum(map(int, numbers)) / len(numbers) if numbers else 0
    
    # 使用json模块创建一个字典
    result = {
        'random_string': generate_random_string(10),
        'current_time': current_time,
        'average': average,
        'combined_list': combined
    }
    
    # 将字典转换为JSON字符串
    json_result = json.dumps(result, indent=4)
    
    return json_result