Python入门 lab5

1 create_tuple.py

code and result

list_example = ["Welcome ", "to ", "Fudan", " Python"]

# define the tuple
tuple_example = tuple(list_example)

# print the length
print("Length of tuple_example:", len(tuple_example))

# concatenate all the elements and print it
sentence = ''.join(tuple_example)
print("Concatenated sentence:", sentence)

# test modifying tuple_example
tuple_example[3] = " 285"
print(tuple_example)

running result:

在这里插入图片描述

1.1 define tuple

tuple_example = tuple(list_example)

When running print(tuple_example) , the result is: ('Welcome ', 'to ', 'Fudan', ' Python').

1.2 print out length

print("Length of tuple_example:", len(tuple_example))
result: Length of tuple_example: 4

use len() method to get its length

1.3 concatenate elements

sentence = ''.join(tuple_example)

When running print("Concatenated sentence:", sentence) , the result is: Concatenated sentence: Welcome to Fudan Python.

1.4 modify element

tuple_example[3] = " 285"
result: raise a TypeError exception TypeError: 'tuple' object does not support item assignment

Reason: tuples are immutable data types, meaning once created, their elements cannot be modified.


2 singleton_tuple.py

running result:

在这里插入图片描述

When running print(type(singleton_tuple)) , the result is: <class 'tuple'>.
When running print(type(singleton)) , the result is: <class 'str'>.

Reason:
singleton_tuple is a tuple that contains only one element. The comma after the element, which ensures that the tuple is not mistakenly interpreted as a simple string.

singleton is a string enclosed in parentheses without a comma. It’s not actually a tuple but just a string expression because there is no comma to differentiate it as a tuple.


3 extract_tuple.py

test cases:

# test cases
print(extract_tuple((100,200,300,400,500,600), 1, 4))
print(extract_tuple(('a','b','c','d','e','f','g'), 2, 6))

print(extract_tuple((), 0, 2))
print(extract_tuple((1,2,3,4,5), 0, 10))
print(extract_tuple((1,2,3,4,5), -1, 2))
print(extract_tuple((1,2,3,4,5), -2, 5))
print(extract_tuple((1,2,3,4,5), 2, 2))

running result:

在这里插入图片描述

  • different arguments are tried as you can see in the screenshot above
  • every result matches the expectation

Notice that except for the last function call print(extract_tuple((1,2,3,4,5), 2, 2)) , the results of all other function calls are very similar to results when we extract the list.

While in the last function call:
When running print(extract_tuple((1,2,3,4,5), 2, 2)) , the result is: (3,).
Unlike the extract_list() function in the previous lab, we can see there’s a comma behind the only element.
This is because when a tuple contains only one element, a trailing comma is added after the element to differentiate it from a regular expression enclosed in parentheses.


4 unpack_tuple.py

running result:

在这里插入图片描述

4.1 unpack

fruit_x is: apple
fruit_y is: orange

4.2 swap

fruit_x is: orange
fruit_y is: apple

5 number_pairs.py

code

def pair_numbers(list1, list2):
    pairs = []
    for num1 in list1:
        for num2 in list2:
            pairs.append((num1, num2))
    return pairs

test cases

# test cases for function pair_numbers()
print("test cases for function pair_numbers():")
print(pair_numbers([1], [1]))
print(pair_numbers([1, 2], [3, 4]))
print(pair_numbers([], []))

print(pair_numbers([1, 2, 3], [4, 5]))
print(pair_numbers([1, 2, 3], []))
print(pair_numbers([], [4, 5, 6])) 

running result

  • different arguments are tried as you can see in the screenshot above
  • every result matches the expectation

在这里插入图片描述


6 sum_of_product()

code

def sum_of_product(tuple_list):
    sum = 0
    for tuple in tuple_list:
        product = tuple[0] * tuple[1]
        sum += product
    return sum

test cases

# test cases for function sum_of_product()
print("\ntest cases for function sum_of_product():")
print(sum_of_product([(1, 2), (3, 4)]))
print(sum_of_product([]))
print(sum_of_product([(2, 2), (5, 3), (0, 1)]))

running result

same as the screenshot in question 5 above

  • different arguments are tried as you can see in the screenshot above
  • every result matches the expectation

在这里插入图片描述

  • 7
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值