自拟一个包含“标准库函数”、“选择”、“循环”、“列表”、“字符串”、“字典”、“集合”、“自定义函数”、“第三方库函数”中至少5 个知识点应用的小程序,并给出运行结果。

自拟一个包含“标准库函数”、“选择”、“循环”、“列表”、“字符串”、“字典”、“集合”、“自定义函数”、“第三方库函数”中至少5 个知识点应用的小程序,并给出运行结果。该程序解决的问题不能与前两个问题中的任何一个相同。

该回答引用chatgpt:

img


# 导入第三方库
import numpy as np

# 标准库函数 - 获取当前日期和时间
import datetime
current_time = datetime.datetime.now()
print("当前时间:", current_time)

# 选择 - 判断一个数的正负性
num = -5
if num > 0:
    print("正数")
elif num < 0:
    print("负数")
else:
    print("零")

# 循环 - 计算1到10的累加和
sum = 0
for i in range(1, 11):
    sum += i
print("累加和:", sum)

# 列表 - 反转列表
numbers = [1, 2, 3, 4, 5]
reversed_numbers = numbers[::-1]
print("反转后的列表:", reversed_numbers)

# 字符串 - 大写字母转换为小写字母
string = "HELLO"
lowercase_string = string.lower()
print("转换后的字符串:", lowercase_string)

# 字典 - 查询字典中的值
student = {"name": "Alice", "age": 20, "grade": "A"}
age = student["age"]
print("学生的年龄:", age)

# 集合 - 求两个集合的交集
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
intersection = set1.intersection(set2)
print("两个集合的交集:", intersection)

# 自定义函数 - 计算圆的面积
def calculate_circle_area(radius):
    area = np.pi * radius ** 2
    return area

circle_radius = 3
circle_area = calculate_circle_area(circle_radius)
print("圆的面积:", circle_area)

# 第三方库函数 - 使用numpy生成随机数
random_numbers = np.random.rand(5)
print("随机数:", random_numbers)

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7734410
  • 除此之外, 这篇博客: 编写程序,实现用户输入15个数据后进行排序,要求排序后按由大到小存放在一个数组中。重新输入一个数,编写查找算法找到该数是数组中的第几个元素的值,如果该数不在数组中,则输出“无此数”。中的 C语言实现:编写程序,实现用户输入15个数据后进行排序,要求排序后按由大到小存放在一个数组中。重新输入一个数,编写查找算法找到该数是数组中的第几个元素的值,如果该数不在数组中,则输出“无此数”。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    编程基础第六版 课后题

    代码如下

    #include <stdio.h>
    #include <math.h>
    int main()
    {
    int i,j,t;
    int a[15];
    int x,l,h,mid,n;
    n=15;
    l=0;
    h=n-1;
    printf("请输入15个不同数字,按一次输入一个,依次输入15次的方法输入数字:\n");
    for(i=0;i<15;i++)
    scanf("%d",&a[i]);
    for(j=0;j<14;j++)
    {
    for(i=0;i<14-j;i++)   //这里我第一次写也忽略了j要不断的去替换i,所以对于i来说它的循环条件应该是14-j,有好多人可能和我一样写成i<15啦
    if( a[i]<a[i+1])
    {
    t=a[i];
    a[i]=a[i+1];
    a[i+1]=t;
    }
    }
    printf("按从大到小的排序结果:");
    for( i=0;i<15;i++)
    printf("%d\t",a[i]);
    printf("\n");
    
    for (l=0, h=14, printf("请输入一个数:"), scanf("%d", &x); l<=h;)//while也可以但是我很奇怪用while会提前退出循环哈哈哈
    {
    mid=(l+h)%2;
    if (x>a[mid])h=mid-1;
    else if (x<a[mid])l=mid+1;
    else
    {
    printf("%d是第%d位数",x,mid+1);
    break;
    }
    }
    if(x!=a[mid])
    printf("查无此数!");
    return 0;
    }
    

    这个是我用手机c compiler码的效果~顺便一提这个软件真的好用(✪▽✪)

  • 以下回答来自chatgpt:

    这里给出一个使用选择、循环、列表、字符串、标准库函数、自定义函数的Python小程序,实现一个统计单词个数的功能:

    import string
    
    # 自定义函数,用于去除单词开头和结尾的标点符号
    def remove_punct(word):
        if word == '':
            return word
        if word[0] in string.punctuation:
            word = remove_punct(word[1:])
        if word[-1] in string.punctuation:
            word = remove_punct(word[:-1])
        return word
    
    # 选择输入文件名,使用with语句打开文件,并将所有内容读入一个字符串
    filename = input("请输入要统计单词个数的文件名:")
    with open(filename, 'r') as f:
        contents = f.read()
    
    # 将字符串转换为单词列表,过滤掉空白单词和标点符号,将所有单词转换为小写形式
    words = [remove_punct(word.lower()) for word in contents.split() if word.strip() != '' and word[0] not in string.punctuation]
    
    # 使用字典统计每个单词出现的次数
    word_counts = {}
    for word in words:
        if word in word_counts:
            word_counts[word] += 1
        else:
            word_counts[word] = 1
    
    # 将字典转换为按出现次数排序的单词列表
    word_list = sorted(word_counts.items(), key=lambda x: x[1], reverse=True)
    
    # 输出前20个单词及其出现次数
    for i in range(20):
        print("{0}: {1}".format(word_list[i][0], word_list[i][1]))
    

    程序需要用户手动输入要统计单词个数的文件名,然后使用with语句打开文件,并将所有内容读入一个字符串。接下来使用字符串的split()方法将字符串分割成单词列表,然后过滤掉空白单词和标点符号,并将所有单词转换为小写形式。这个过程中使用了自定义函数remove_punct(),它用于去除单词开头和结尾的标点符号。接下来使用一个字典word_counts统计每个单词出现的次数。最后将字典转换为按出现次数排序的单词列表,并输出前20个单词及其出现次数。程序的输出结果类似于:

    the: 2313
    of: 1294
    and: 1256
    to: 1043
    in: 852
    a: 828
    that: 619
    it: 612
    is: 609
    for: 565
    with: 490
    on: 487
    as: 435
    was: 415
    by: 362
    an: 337
    be: 329
    this: 326
    are: 313
    which: 301
    

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^