python赋值运算符,set集合综合案例

By admin in 4858.com on 2019年3月30日

Python赋值运算符

Python世界里的赋值运算符,python赋值运算符

Python赋值运算符

以下假若变量a为10,变量b为20:

4858.com 1

“=” 的作用是把右侧的数值赋值给左侧的变量

 

示例1:编制程序达成145893秒是几天几钟头几分钟几分钟?

total = 145893

day = total // (24 * 60 * 60)

hour = (total % (24 * 60 * 60)) // (60*60)

minute = (total % (60 * 60)) // 60

second = total % 60

print(“%d秒为%d天,%d小时,%d分钟,%d秒”% (total, day, hour, minute,
second))

4858.com 2

示例2:用户依次输入语文、数学、克罗地亚(Croatia)语分数,输出总分和平均分?

chinese = int(input(“请输入语文的分数:”))

maths = int(input(“请输入数学的分数:”))

english = int(input(“请输入德语的分数:”))

print(“这次试验的总分:%.2f,平均分:%.2f”%
((chinese+maths+english),(chinese+maths+english)/3))

4858.com 3

Python
赋值运算符 以下若是变量a为10,变量b为20: “=”
的成效是把左边的数值赋值给左边的变量…

set集合综合案例,set集合案例

案例01:生成0-10之内伍个不等于的数

办法1:使用list集合完结

import random

list01 = []

for i in range(100):

    num01 = random.randint(0, 10)

    if num01 not in list01:

        list01.append(num01)

    if len(list01)==5:

        break

print(list01)

 

措施2:使用set集合达成,自动清除重复

import random

number_set = set()

while len(number_set) < 5:

    number_set.add(random.randint(0,10))

 

print(number_set)

 

实施结果:

C:\python\python.exe C:/python/demo/file3.py

{0, 1, 6, 9, 10}

 

Process finished with exit code 0

 

案例02:有10个学生,姓名自行添加。有三门考试:语文、数学和意国语,随机为那10名上学的小孩子生元素数【50-100】,要求每一门学科中享有学生分数无法再一次

需求:

1)总结出每门科目标前三名和后三名【包括姓名和现实性分数】

2)总结出总分的前三名和后三名

3)在(50-100)的数字中,那些数字尚未在三门的分数中冒出过

 

方法01:

import random

student_name = [“王一”, “胡二”, “张三”, “李四”,
“赵五”, “马六”, “杨七”, “刘八”, “孙九”, “陈十”]

student_result = []  # 积存全数学员的大成明细

chinese_result = set()  # 存款和储蓄语文分数

maths_result = set()  # 积存数学分数

english_result = set()  # 仓库储存外语分数

# 发轫生成八个语文分数

for i in range(len(student_name)):

    while True:

        temp = random.randint(50, 100)

        if temp not in chinese_result:

            chinese_result.add(temp)

            break

        else:

            continue

    # 始于生成2个数学分数

*   * while True:

        temp = random.randint(50, 100)

        if temp not in maths_result:

            maths_result.add(temp)

            break

        else:

            continue

    # 开班生成多少个爱沙尼亚语分数

*   * while True:

        temp = random.randint(50, 100)

        if temp not in english_result:

            english_result.add(temp)

            break

        else:

            continue

 

print(chinese_result)

print(maths_result)

print(english_result)

 

方法02:

对于同样的操作能够抽象成1个函数,在经过get调用那么些函数即可

import random

def get_result(result:set):

    while True:

        temp = random.randint(50, 100)

        if temp not in result:

            result.add(temp)

            break

        else:

            continue

    return result

 

student_name = [“王一”, “胡二”, “张三”, “李四”,
“赵五”, “马六”, “杨七”, “刘八”, “孙九”, “陈十”]

student_result = []  # 积存全部学员的大成明细

chinese_result = set()  # 存款和储蓄语文分数

maths_result = set()  # 积存数学分数

english_result = set()  # 仓库储存外语分数

 

# 千帆竞发变化分数

for i in range(len(student_name)):

    # 发端生成四个语文分数

*   * chinese_result = get_result(chinese_result)

    # 起来生成1个数学分数

*   * maths_result = get_result(maths_result)

    # 始于生成一个罗马尼亚语分数

*   * english_result = get_result(english_result)

 

print(student_name)

print(chinese_result)

print(maths_result)

print(english_result)

 

# 把多少个set集合转为list

chinese_result = list(chinese_result)

maths_result = list(maths_result)

english_result = list(english_result)

 

# 变化成绩明细

for i in range(len(student_name)):

    temp_list = []

    temp_list.append(chinese_result[i])

    temp_list.append(maths_result[i])

    temp_list.append(english_result[i])

    student_result.append(temp_list)

 

print(chinese_python赋值运算符,set集合综合案例。result)

print(maths_result)

print(english_result)

print(student_result)

 

#
急需1:计算出每门课程的前三名和后三名【包括姓名和实际分数】以语文战绩为例

chinese_one = max(chinese_result)

print(“语文头名:姓名:%s,分数:%d”
%(student_name[chinese_result.index(chinese_one)],chinese_one))

chinese_two = sorted(chinese_result)[8]

print(“语文第1名:姓名:%s,分数:%d”
%(student_name[chinese_result.index(chinese_two)],chinese_two))

chinese_three = sorted(chinese_result)[7]

print(“语文第贰名:姓名:%s,分数:%d”
%(student_name[chinese_result.index(chinese_three)],chinese_three))

 

chinese_last_one = sorted(chinese_result)[0]

print(“语文尾数榜首:姓名:%s,分数:%d”
%(student_name[chinese_result.index(chinese_last_one)],chinese_last_one))

chinese_last_two = sorted(chinese_result)[1]

print(“语文尾数第一名:姓名:%s,分数:%d”
%(student_name[chinese_result.index(chinese_last_two)],chinese_last_two))

chinese_last_three = sorted(chinese_result)[2]

print(“语文尾数第贰名:姓名:%s,分数:%d”
%(student_name[chinese_result.index(chinese_last_three)],chinese_last_three))

# 必要2:总括出总分的前三名和后三名

student_total_result = []

for i in student_result:

    student_total_result.append(sum(i))

print(student_total_result)

 

# 打字与印刷前三名

total_one = sorted(student_total_result)[9]  # 取得头名分数

total_one_index = student_total_result.index(total_one)  #
获得头名分数的目录

# 打字与印刷头名的姓名和总分均分

print(“总分头名【姓名:%s,分数:%d,均分:%.2f】”
%(student_name[total_one_index],total_one, total_one/3))

# 打字与印刷头名的分数明细

print(“\t\t 语文:%d,数学:%d,英语:%d” %
(student_result[total_one_index][0],
student_result[total_one_index][1],
student_result[total_one_index][2]))

total_two = sorted(student_total_result)[8]

print(“总分第壹名【姓名:%s,分数:%d,均分:%.2f】”
%(student_name[student_total_result.index(total_two)],total_two,
total_two/3))

total_three = sorted(student_total_result)[7]

print(“总分第二名【姓名:%s,分数:%d,均分:%.2f】”
%(student_name[student_total_result.index(total_three)],total_three,
total_three/3))

 

# 要求3:在(50-100)的数字中,那一个数字尚未在三门的分数中冒出过

total_number = set()

for i in range(50, 101):

    total_number.add(i)

 

had_number = (set(chinese_result) | set(maths_result) |
set(english_result))

print(“未出现的数字有:”, (total_number-had_number))

 

履行结果:

C:\python\python.exe C:/python/demo/file3.py

[‘王一’, ‘胡二’, ‘张三’, ‘李四’, ‘赵五’, ‘马六’, ‘杨七’, ‘刘八’,
‘孙九’, ‘陈十’]

{66, 80, 83, 51, 52, 86, 54, 55, 60, 94}

{98, 69, 74, 75, 77, 82, 52, 89, 92, 95}

{96, 66, 71, 72, 85, 88, 92, 61, 95, 63}

[66, 80, 83, 51, 52, 86, 54, 55, 60, 94]

[98, 69, 74, 75, 77, 82, 52, 89, 92, 95]

[96, 66, 71, 72, 85, 88, 92, 61, 95, 63]

[[66, 98, 96], [80, 69, 66], [83, 74, 71], [51, 75, 72], [52,
77, 85], [86, 82, 88], [54, 52, 92], [55, 89, 61], [60, 92,
95], [94, 95, 63]]

语文第一名:姓名:陈十,分数:94

语文第壹名:姓名:马六,分数:86

语文第1名:姓名:张三,分数:83

语文尾数头名:姓名:李四,分数:51

语文尾数第③名:姓名:赵五,分数:52

语文倒数第一名:姓名:杨七,分数:54

[260, 215, 228, 198, 214, 256, 198, 205, 247, 252]

总分第一名【姓名:王一,分数:260,均分:86.67】

 语文:66,数学:98,英语:96

总分第①名【姓名:马六,分数:256,均分:85.33】

总分第一名【姓名:陈十,分数:252,均分:84.00】

未出现的数字有: {50, 53, 56, 57, 58, 59, 62, 64, 65, 67, 68, 70, 73,
76, 78, 79, 81, 84, 87, 90, 91, 93, 97, 99, 100}

 

Process finished with exit code 0

 

案例 01 :生成 0 -10
之间5个不对等的数 方法 1 :使用 list 集合达成 import random list01 =
[] for i in range(100): num0…

案例01:生成0-10以内多少个不对等的数

以下假诺变量a为10,变量b为20:

艺术1:使用list集合完成

4858.com 4

import random

“=”
的效益是把左边的数值赋值给右边的变量

list01 = []

 

for i in range(100):

示例1:编制程序完结145893秒是几天几钟头几分钟几分钟?

    num01 = random.randint(0, 10)

total = 145893

    if num01 not in list01:

day = total // (24 * 60 * 60)

        list01.append(num01)

hour = (total % (24 * 60 * 60)) // (60*60)

    if len(list01)==5:

minute = (total % (60 * 60)) // 60

        break

second = total % 60

print(list01)

print(“%d秒为%d天,%d小时,%d分钟,%d秒”% (total, day, hour, minute,
second))

 

4858.com 5

方法2:使用set集合达成,自动清除重复

示例2:用户依次输入语文、数学、韩文分数,输出总分和平均分?

import random

chinese = int(input(“请输入语文的分数:”))

number_set = set()

maths = int(input(“请输入数学的分数:”))

while len(number_set) < 5:

english = int(input(“请输入丹麦语的分数:”))

    number_set.add(random.randint(0,10))

print(“这次考试的总分:%.2f,平均分:%.2f”%
((chinese+maths+english),(chinese+maths+english)/3))

 

4858.com 6

print(number_set)

 

 

自家原创小说,非商业用途可随意转发,转发请保留原来的书文出处

施行结果:

C:\python\python.exe C:/python/demo/file3.py

{0, 1, 6, 9, 10}

 

Process finished with exit code 0

 

案例02:有拾2个学生,姓名自行添加。有三门考试:语文、数学和塞尔维亚(Република Србија)语,随机为那10名上学的小孩子生成分数【50-100】,须要每一门学科中装有学生分数不能够重新

需求:

1)总结出每门课程的前三名和后三名【包罗姓名和实际分数】

2)总计出总分的前三名和后三名

3)在(50-100)的数字中,那些数字没有在三门的分数中出现过

 

方法01:

import random

student_name = [“王一”, “胡二”, “张三”, “李四”,
“赵五”, “马六”, “杨七”, “刘八”, “孙九”, “陈十”]

student_result = []  # 储存全部学生的大成明细

chinese_result = set()  # 仓库储存语文分数

maths_result = set()  # 储存数学分数

english_result = set()  # 积存外语分数

# 始爆发成2个语文分数

for i in range(len(student_name)):

    while True:

        temp = random.randint(50, 100)

        if temp not in chinese_result:

            chinese_result.add(temp)

            break

        else:

            continue

    # 初阶生成二个数学分数

*   * while True:

        temp = random.randint(50, 100)

        if temp not in maths_result:

            maths_result.add(temp)

            break

        else:

            continue

    # 开首生成3个匈牙利(Magyarország)语分数

*   * while True:

        temp = random.randint(50, 100)

        if temp not in english_result:

            english_result.add(temp)

            break

        else:

            continue

 

print(chinese_result)

print(maths_result)

print(english_result)

 

方法02:

对此同一的操作能够抽象成1个函数,在通过get调用那么些函数即可

import random

def get_result(result:set):

    while True:

        temp = random.randint(50, 100)

        if temp not in result:

            result.add(temp)

            break

        else:

            continue

    return result

 

student_name = [“王一”, “胡二”, “张三”, “李四”,
“赵五”, “马六”, “杨七”, “刘八”, “孙九”, “陈十”]

student_result = []  # 储存全数学生的大成明细

chinese_result = set()  # 仓库储存语文分数

maths_result = set()  # 储存数学分数

english_result = set()  # 积存外语分数

 

# 初叶转变分数

for i in range(len(student_name)):

    # 伊始生成3个语文分数

*   * chinese_result = get_result(chinese_result)

    # 始产生成多个数学分数

*   * maths_result = get_result(maths_result)

    # 发端生成3个加泰罗尼亚语分数

*   * english_result = get_result(english_result)

 

print(student_name)

print(chinese_result)

print(maths_result)

print(english_result)

 

# 把八个set集合转为list

chinese_result = list(chinese_result)

maths_result = list(maths_result)

english_result = list(english_result)

 

# 变更成绩明细

for i in range(len(student_name)):

    temp_list = []

    temp_list.append(chinese_result[i])

    temp_list.append(maths_result[i])

    temp_list.append(english_result[i])

    student_result.append(temp_list)

 

print(chinese_result)

print(maths_result)

print(english_result)

print(student_result)

 

#
供给1:计算出每门科指标前三名和后三名【包蕴姓名和求实分数】以语文成绩为例

chinese_one = max(chinese_result)

print(“语文头名:姓名:%s,分数:%d”
%(student_name[chinese_result.index(chinese_one)],chinese_one))

chinese_two = sorted(chinese_result)[8]

print(“语文第2名:姓名:%s,分数:%d”
%(student_name[chinese_result.index(chinese_two)],chinese_two))

chinese_three = sorted(chinese_result)[7]

print(“语文第2名:姓名:%s,分数:%d”
%(student_name[chinese_result.index(chinese_three)],chinese_three))

 

chinese_last_one = sorted(chinese_result)[0]

print(“语文倒数第一名:姓名:%s,分数:%d”
%(student_name[chinese_result.index(chinese_last_one)],chinese_last_one))

chinese_last_two = sorted(chinese_result)[1]

print(“语文尾数第②名:姓名:%s,分数:%d”
%(student_name[chinese_result.index(chinese_last_two)],chinese_last_two))

chinese_last_three = sorted(chinese_result)[2]

print(“语文尾数第1名:姓名:%s,分数:%d”
%(student_name[chinese_result.index(chinese_last_three)],chinese_last_three))

#
需求2:计算出总分的前三名和后三名

student_total_result = []

for i in student_result:

    student_total_result.append(sum(i))

print(student_total_result)

 

# 打字与印刷前三名

total_one = sorted(student_total_result)[9]  # 取得头名分数

total_one_index = student_total_result.index(total_one)  #
获得头名分数的目录

# 打字与印刷头名的真名和总分均分

print(“总分头名【姓名:%s,分数:%d,均分:%.2f】”
%(student_name[total_one_index],total_one, total_one/3))

# 打字与印刷第一名的分数明细

print(“\t\t 语文:%d,数学:%d,英语:%d” %
(student_result[total_one_index][0],
student_result[total_one_index][1],
student_result[total_one_index][2]))

total_two = sorted(student_total_result)[8]

print(“总分第②名【姓名:%s,分数:%d,均分:%.2f】”
%(student_name[student_total_result.index(total_two)],total_two,
total_two/3))

total_three = sorted(student_4858.com,total_result)[7]

print(“总分第二名【姓名:%s,分数:%d,均分:%.2f】”
%(student_name[student_total_result.index(total_three)],total_three,
total_three/3))

 

#
要求3:在(50-100)的数字中,这多少个数字没有在三门的分数中冒出过

total_number = set()

for i in range(50, 101):

    total_number.add(i)

 

had_number = (set(chinese_result) | set(maths_result) |
set(english_result))

print(“未出现的数字有:”, (total_number-had_number))

 

举行理并了结果:

C:\python\python.exe C:/python/demo/file3.py

[‘王一’, ‘胡二’, ‘张三’, ‘李四’, ‘赵五’, ‘马六’, ‘杨七’, ‘刘八’,
‘孙九’, ‘陈十’]

{66, 80, 83, 51, 52, 86, 54, 55, 60, 94}

{98, 69, 74, 75, 77, 82, 52, 89, 92, 95}

{96, 66, 71, 72, 85, 88, 92, 61, 95, 63}

[66, 80, 83, 51, 52, 86, 54, 55, 60, 94]

[98, 69, 74, 75, 77, 82, 52, 89, 92, 95]

[96, 66, 71, 72, 85, 88, 92, 61, 95, 63]

[[66, 98, 96], [80, 69, 66], [83, 74, 71], [51, 75, 72], [52,
77, 85], [86, 82, 88], [54, 52, 92], [55, 89, 61], [60, 92,
95], [94, 95, 63]]

语文第一名:姓名:陈十,分数:94

语文第贰名:姓名:马六,分数:86

语文第贰名:姓名:张三,分数:83

语文尾数头名:姓名:李四,分数:51

语文尾数第3名:姓名:赵五,分数:52

语文尾数第③名:姓名:杨七,分数:54

[260, 215, 228, 198, 214, 256, 198, 205, 247, 252]

总分头名【姓名:王一,分数:260,均分:86.67】

 语文:66,数学:98,英语:96

总分第2名【姓名:马六,分数:256,均分:85.33】

总分第①名【姓名:陈十,分数:252,均分:84.00】

未出现的数字有: {50, 53, 56, 57, 58, 59, 62, 64, 65, 67, 68, 70, 73,
76, 78, 79, 81, 84, 87, 90, 91, 93, 97, 99, 100}

 

Process finished with exit code 0

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 美高梅手机版4858 版权所有