首页 > 编程语言 >实验3 控制语句与组合数据类型应用编程

实验3 控制语句与组合数据类型应用编程

时间:2023-04-25 12:55:19浏览次数:50  
标签:语句 count 编程 数据类型 cart amount products print id

import random
print('用列表存储随机整数: ')
lst = [random.randint(0, 100) for i in range(5)]
print(lst)
print('\n用集合存储随机整数: ')
s1 = {random.randint(0, 100) for i in range(5)}
print(s1)
print('\n用集合存储随机整数: ')
s2 = set()
while len(s2) < 5:
  s2.add(random.randint(0, 100))
print(s2)

问题1: random.randint(0,100) 生成的随机整数范围是?能否取到100?

可以
问题2:利用 list(range(5)) 生成的有序序列范围是?是否包括5?
包括
问题3:使用line8代码生成的集合s1,len(s1)一定是5吗?如果不是,请解释原因。

一定
问题4:使用line12-14生成的集合s2,len(s2)一定是5吗?如果不是,请解释原因。

一定
实验任务二

task2_1程序源代码

#列表遍历
lst = [55,92,88,79,96]

#遍历方式1:使用while + 索引
i = 0
while i < len(lst):
    print(lst[i], end = ' ')
    i += 1

print()


#遍历方式2:使用for + 索引
for i in range(len(lst)):
    print(lst[i], end = ' ')
print()

#遍历方式3:使用for... in
for i in lst:
    print(i, end = " ")
print()

 

运行结果

 

task2_2程序源代码

book_info = {'isbn': '978-7-5356-8297-0',
             '书名': '白鲸记',
             '作者': '克里斯多夫.夏布特',
             '译者': '高文婧',
             '出版社': '湖南美术出版社',
             '售价': 82
             }

#遍历key-value对:实现方式1
for key,value in book_info.items():
    print(f'{key}:{value}')
print()

#遍历key-value对:实现方式2
for item in book_info.items():
    print(f'{item[0]}:{item[1]}')
print()

#遍历值:实现方式1
for value in book_info.values():
    print(value, end  = ' ')
print()

#遍历值:实现方式2
for key in book_info.keys():
    print(book_info[key], end = ' ')

 

运行结果

 

task2_3程序源代码

book_info = [{'书名': '昨日的世界', '作者': '斯蒂芬.茨威格'},
{'书名': '局外人', '作者': '阿尔贝.加缪'},
{'书名': '设计中的设计', '作者': '原研哉'},
{'书名': '万历十五年', '作者': '黄仁宇'},
{'书名': '刀锋', '作者': '毛姆'}
]
k = []
a = []

for i in book_info:
    for key in i.keys():
        k.append(i[key])
        break
for i in book_info:
    for item in i.items():
        a.append(item[1])
for i in k:
    if i in a:
        a.remove(i)

for i in range(1,6):
    print(i,end='.')
    print(f'《{k[i-1]}》',end = ',')
    print(a[i-1])

 运行结果

 实验任务三

程序源代码

s = '''The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!'''
k= []
for i in s:
    if 65<=ord(i)<=90 or 97<=ord(i)<=122:
        k.append(i.lower())
    else:
        continue
for i in range(97,122):
    print(f'{chr(i)}:{k.count(chr(i))}')

运行结果

 实验任务四

程序源代码

def chack(dic,value):
    for key in dic:
        if value in dic[key]:
            return key
            break

code_majors = {8326:'地信类',8329:'计算机类',8330:'气科类',8336:'防灾工程',8345:'海洋科学',8382:'气象工程'}
studentdict = {'海洋科学':[202283450521,202283450540,202283450321],
'防灾工程':[202283361234,202283360045,202283360012],
'地信类':[202283260001,202283260024,202283260003],
'计算机类':[202283290001,202283290024,202283290003],
'气科类':[202283300001,202283300024,202283300003],
'气象工程':[202283820001,202283820024,202283820003]}


x='专业代号信息'
y='学生专业查询'
print(x.center(50,"-"))
for key in code_majors:
    print(f'{key}:{code_majors[key]}')

print(y.center(50,"-"))
for i in studentdict:
    print(i)
x = input('请输入学号:')
while x != '#':
    if chack(studentdict,int(x)) == None:
        print('不在这些专业中...')
        x = input('请输入学号:')
    else:
        print(chack(studentdict,int(x)))
        x = input('请输入学号:')
print('查询结束...')

运行结果

 实验任务五

程序源代码

import random
lucky = random.randint(1,31)
right = False
k = 1
print('猜猜2023年5月哪一天会是你的lucky day

标签:语句,count,编程,数据类型,cart,amount,products,print,id
From: https://www.cnblogs.com/yang2002/p/17332485.html

相关文章

  • 【BI软件】零编程构建财务分析模型(行计算模型)
    上一讲和大家讲到,自定义SQL是用个性化的开发去满足个性化的需求,而分析模型则是用共性的开发去满足个性化的需求。而分析模型的好处显而易见,通过分析模型来开发报表,更灵活、更高效,而且开发及运维的成本非常低。同时,通过举例也让大家看到,构建分析模型并不复杂。今天我们再来讲一下分......
  • 实验3 控制语句与组合数据类型应用编程
    实验任务1#task1实验内容importrandomprint('用列表存取随机整数:')lst=[random.randint(0,100)foriinrange(5)]print(lst)print('\n用集合存储随机整数:')s1={random.randint(0,100)foriinrange(5)}print(s1)......
  • python编程经验
    1、#在此基础上获取最大长度共同子字符串sub_len=min_lenwhiles1[s1_index+i:s1_index+i+sub_len]==s2[s2_index+j:s2_index+j+sub_len]:sub_len+=1#实际的最大共同子字符串长度sub_len=sub_len-1在比较算法中,上述代码不断循环执行,sub_len递增。即默认......
  • Java的多线程编程模型5--Java中的CAS理论
    CAS,compareandswap的缩写,中文翻译成比较并交换。我们都知道,在java语言之前,并发就已经广泛存在并在服务器领域得到了大量的应用。所以硬件厂商老早就在芯片中加入了大量直至并发操作的原语,从而在硬件层面提升效率。在intel的CPU中,使用cmpxchg指令。在Java发展初期,java语言是不能......
  • 《c#高级编程》第4章C#4.0中的更改(六)——动态绑定
    一、概念下面是一些代码示例,说明C#动态绑定的上述特点:1.延迟确定类型```dynamicobj=GetDynamicObject();//获取动态对象obj.DoSomething();//在运行时才能确定DoSomething方法是否存在及其参数类型和返回值类型```2.动态调用成员```dynamicobj=GetDynamicObject(......
  • 《c#高级编程》第4章C#4.0中的更改(七)——命名参数和可选参数
    一、概念C#中的命名参数和可选参数是两种函数参数的特殊形式,它们可以提高代码的可读性和灵活性。命名参数命名参数允许我们在调用函数时指定参数名称,从而不必按照函数定义时的参数顺序进行传参。这样做可以使代码更加易读易懂,同时也可以提高代码的灵活性,因为我们可以只传递某些......
  • Rust编程语言入门之高级特性
    高级特性主要内容不安全Rust高级Trait高级类型高级函数和闭包宏一、不安全Rust匹配命名变量隐藏着第二个语言,它没有强制内存安全保证:UnsafeRust(不安全的Rust)和普通的Rust一样,但提供了额外的“超能力”UnsafeRust存在的原因:静态分析是保守的。使用......
  • 《c#高级编程》第3章C#3.0中的更改(五)——扩展方法
    C#扩展方法是一种语法,可以为已有的类添加新的实例方法,而无需修改原来的类定义。它的语法形式为:```csharppublicstaticvoidMyExtensionMethod(thisMyClassobj,intparam1,stringparam2){//扩展方法的代码逻辑}```在上面的示例中,MyExtensionMethod是一个名为"MyExten......
  • 《c#高级编程》第2章C#2.0中的更改(四)——空值类型
    一、概念在C#中,空值类型(NullableTypes)是一种特殊的数据类型,它可以包含正常值或者一个null值。当我们需要在程序中处理可能不存在的值时,空值类型就会派上用场。空值类型的语法形式是在值类型后面加上一个问号“?”,例如int?、bool?等。这样定义的变量可以保存基本类型的值,也可以......
  • 《c#高级编程》第2章C#2.0中的更改(三)——迭代器
    一、概念C#迭代器(Iterator)是一种特殊类型的方法,它使得在使用循环遍历数据集合时更加简单和有效。使用迭代器可以通过简单地定义迭代器方法来自动实现枚举器模式。当您需要访问一个数据集合中的每个元素时,可以使用迭代器来遍历该集合。C#中的迭代器通过yield关键字实现。yield语......