C++编程实践:从字符串到数学算法实现

版权申诉
0 下载量 160 浏览量 更新于2024-11-08 收藏 4KB RAR 举报
资源摘要信息:"cPP.rar_lotto_site:***" ### 标题解读与知识点说明: 标题中的"cPP.rar_lotto_site:***"指的是一个压缩文件包,其中包含了多个与C++编程相关的源代码文件。"lotto_site:***"表明这些文件可能与某个名为lotto的网站有关,该网站的地址是***,这是一个提供编程资源和代码示例的平台。标题暗示了文件内容可能涉及一些特定的算法和数据结构的实现。 ### 描述中的知识点: 描述中提到了几个关键任务,这些任务涉及到C++编程的多个方面,以下是对描述中知识点的详细解读: - **3位數的anqstron輸入字串後反印出**:这可能指的是输入一个3位的数(anqstron可能是指an arbitrary number,任意数),然后将这个数反转并输出。在C++中,这涉及到字符串操作和数字与字符串的转换。 - **十进位转二进位**:通常需要使用位操作或将十进制数转换为二进制数表示的方法。在C++中,可以利用位操作符或循环结构实现这一转换。 - **巴斯卡三角形**:是一个数学上的数字图形,其中每一行数字代表组合数。在C++中,可以通过嵌套循环来计算和打印巴斯卡三角形。 - **cycle length**:可能指的是循环节长度。在编程中,通常是指在一个循环或者数学序列中,一组值重复出现的长度。 - **MaxAry**:可能指的是一系列最大值的数组。在处理数据或数组时,需要找出最大值或者按顺序比较得出最大值。 - **十六进位轉二進位**:指的是将十六进制数转换为二进制数。在C++中,可以通过特定的转换函数或算法来实现这种转换。 - **输出较大数(使用函式)**:涉及编写函数来比较两个数,并输出其中较大的一个。 描述中没有明确提到,但是由于压缩包里有特定文件名,我们还可以预见到以下知识点: ### 压缩包文件名称列表与知识点: - **CharToString.cpp**:文件可能涉及将字符转换为字符串的技术,或者对字符和字符串进行操作的代码实现。 - **MaxAry-reverse.cpp**:可能是一个实现将数组中的数反转,并输出反转后最大值的C++源文件。 - **十六进位轉二進位.cpp**:与描述中提到的十六进位转二进位相同,该文件应包含实现这一功能的代码。 - **lotto.cpp**:尽管文件名与网站地址相同,但具体内容不明,可能涉及到随机数生成、概率计算等与彩票相关的算法。 - **3位數的 anqstron.cpp**:该文件应与描述中的3位数相关任务对应,实现输入、反转及输出的操作。 - **巴斯卡三角形.cpp**:按照描述,该文件应该包含生成和显示巴斯卡三角形的算法。 - **cycle length.cpp**:该文件可能包含计算数组、序列或其他循环结构的循环节长度的算法。 - **圓周率.cpp**:可能包含计算或显示圆周率的算法。 - **輸出較大數(使用函式).cpp**:这个文件应该包含一个函数,该函数可以比较并输出两个数中的较大值。 ### 总结: 这个压缩包文件集包含了一系列C++源代码文件,覆盖了从基本的数据类型操作到复杂的数据结构和算法。这些文件和描述表明,它们可能是用于教学、练习或实际开发中的示例代码。了解和掌握这些文件中的知识点对于深入学习C++编程非常有帮助。

请检查这段代码有没有错误 import pandas as pd from pyecharts.charts import * from sklearn.linear_model import LogisticRegression data = pd.read_csv('双色球.csv',encoding='utf-8', engine='python') data.head() for i in range(0,6): data[f'r{i+1}'] = data['红球'].apply(lambda x:x.split(',')[i]) data[f'r{i+1}'] = data[f'r{i+1}'].astype('int64') def get_lotto_data(data, lotto, lotto_id): #取数据,指定训练集和测试集 data['lotto_id'] = lotto_id X = [] Y = [] # 标签and值 for s, p in zip(data['lotto_id'], data[lotto]): X.append([float(s)]) Y.append(float(p)) return X, Y def linear_model_test(X, Y, predict_value): #建立线性回归模型 regr = LogisticRegression() regr.fit(X, Y) predict_outcome = regr.predict(predict_value) predictions = {} predictions['intercept'] = regr.intercept_ predictions['coefficient'] = regr.coef_ predictions['predicted_value'] = predict_outcome return predictions def get_predicted_num(file, lotto, lotto_id): #使用线性回归推测中奖号码 X, Y = get_lotto_data(file, lotto, lotto_id) predict_value = [[33]] result = linear_model_test(X, Y, predict_value) if lotto_id < 7: print(f'中奖第{lotto_id}个红球为:', result['predicted_value'].astype('int64'), '号球') else: print('中奖蓝球为:', result['predicted_value'].astype('int64'), '号球') get_predicted_num(data, 'r1', 1) # 预测红1 get_predicted_num(data, 'r2', 2) # 预测红2 get_predicted_num(data, 'r3', 3) # 预测红3 get_predicted_num(data, 'r4', 4) # 预测红4 get_predicted_num(data, 'r5', 5) # 预测红5 get_predicted_num(data, 'r6', 6) # 预测红6 get_predicted_num(data, '蓝球', 7) # 预测蓝7

2023-05-25 上传