"八叛徒"创立了仙童半导体
时间: 2024-06-24 10:01:22 浏览: 112
"八叛徒"(The Eight Founders)是指八位来自美国哈佛大学和斯坦福大学的研究生,他们在1957年创立了仙童半导体公司(Fairchild Semiconductor),这是一家对现代微电子行业有深远影响的企业。他们是诺伊斯(William Shockley)、摩尔(Robert Noyce)、戈登·摩尔(Gordon Moore)、安迪·格鲁夫(Andy Grove)、赫尔曼·霍夫(Herman Hoff)、尤金·弗里德曼(Eugene Fride曼)、查尔斯·奥尔森(Charles O. Johnson)和沃尔特·布拉顿(Walter Brattain)。他们的离开以及后续的创业活动催生了硅谷的崛起,并直接推动了集成电路的发展[^4]。
[^4]: "八叛徒"的传奇故事和他们对半导体行业的贡献被广泛记载和研究,如书籍《硅谷之父》(The Traitorous Eight: Silicon Valley's Secret War)[^5]。
相关问题
import openpyxl # 打开 Excel 文件 data = openpyxl.load_workbook('cal.xlsx') rtable wtable.append([str(cell.value) if cell.value is not None else '' for cell in row]) AttributeError: 'str' object has no attribute 'append' = data.active # 创建新的 Excel 文件 wbook = openpyxl.Workbook() wtable = wbook.active.title = 'sheet1' count = 0 keyword = "叛徒" # 遍历每一行数据 for row in rtable.iter_rows(min_row=1, max_col=65, max_row=rtable.max_row): # 检查是否包含关键字 if any(keyword in str(cell.value) for cell in row): # 检查是否是空行 if all(cell.value == None for cell in row): continue # 复制该行数据到新的表格中 wtable.append([str(cell.value) if cell.value is not None else '' for cell in row]) count += 1 print(count) # 保存新表格 wbook.save('clh.xlsx')
这段代码的问题在于在创建新的 Excel 文件后,将它的标题(title)赋值给了一个字符串变量,而不是工作表对象。因此,在后续的代码中,将该字符串变量传递给了“append”方法,导致了这个错误。你可以将代码修改为以下形式:
```
# 创建新的 Excel 文件
wbook = openpyxl.Workbook()
wtable = wbook.active
wtable.title = 'sheet1'
count = 0
keyword = "叛徒"
# 遍历每一行数据
for row in rtable.iter_rows(min_row=1, max_col=65, max_row=rtable.max_row):
# 检查是否包含关键字
if any(keyword in str(cell.value) for cell in row):
# 检查是否是空行
if all(cell.value == None for cell in row):
continue
# 复制该行数据到新的表格中
wtable.append([str(cell.value) if cell.value is not None else '' for cell in row])
count += 1
print(count)
# 保存新表格
wbook.save('clh.xlsx')
```
这样修改后,应该就可以正常运行了。
用C写一个二分法查找
二分法查找是一种常用的查找算法,它适用于有序数组。下面是用C语言实现二分法查找的示例代码:
```c
#include <stdio.h>
int binarySearch(int arr[], int left, int right, int target) {
while (left <= right) {
int mid = left + (right - left) / 2;
// 如果目标值等于中间值,则返回中间索引
if (arr[mid] == target) {
return mid;
}
// 如果目标值小于中间值,则在左半部分继续查找
if (arr[mid] > target) {
right = mid - 1;
}
// 如果目标值大于中间值,则在右半部分继续查找
else {
left = mid + 1;
}
}
// 如果未找到目标值,则返回-1
return -1;
}
int main() {
int arr[] = {2, 4, 6, 8, 10, 12, 14, 16, 18, 20};
int n = sizeof(arr) / sizeof(arr[0]);
int target = 12;
int result = binarySearch(arr, 0, n - 1, target);
if (result == -1) {
printf("目标值 %d 未找到\n", target);
} else {
printf("目标值 %d 在索引 %d 处找到\n", target, result);
}
return 0;
}
```
上述代码中,`binarySearch` 函数接受一个有序数组 `arr`、左边界 `left`、右边界 `right` 和目标值 `target` 作为参数。它使用循环来不断缩小查找范围,直到找到目标值或查找范围为空。
在 `main` 函数中,我们定义了一个有序数组 `arr`,并计算出数组的长度 `n`。然后,我们调用 `binarySearch` 函数来查找目标值 `target` 在数组中的索引,并根据返回结果输出相应的信息。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)