Python 기본 day03 숙제 분석 [5 개의 문자열 질문, 3 개의 목록 질문, 2 개의 튜플 질문]

목차

1. 문자열

주제 1 [강화 훈련]

질문 스템

훈련 목표

교육 팁

참조 계획

단계

참조 답변

주제 2 [강화 훈련]

질문 스템

훈련 목표

교육 팁

참조 계획

단계

참조 답변

주제 3 [강화 훈련]

질문 스템

훈련 목표

교육 팁

참조 계획

단계

참조 답변

주제 4 [강화 훈련]

질문 스템

훈련 목표

교육 팁

참조 계획

단계

참조 답변

주제 5 [강화 훈련]

질문 스템

훈련 목표

교육 팁

참조 계획

단계

참조 답변

2. 목록

주제 1 [강화 훈련]

질문 스템

훈련 목표

교육 팁

참조 계획

단계

참조 답변

주제 2 [강화 훈련]

질문 스템

훈련 목표

교육 팁

참조 계획

단계

참조 답변

주제 3 [강화 훈련]

질문 스템

훈련 목표

교육 팁

참조 계획

단계

참조 답변

3. 튜플

주제 1 [강화 훈련]

질문 스템

훈련 목표

교육 팁

참조 계획

단계

참조 답변

주제 2 [강화 훈련]

질문 스템

훈련 목표

교육 팁

참조 계획

단계

참조 답변


1. 문자열

주제 1 [강화 훈련]

질문 스템

다음 문자열을 저장하기 위해 변수를 사용해야하는 경우 코드를 어떻게 작성합니까?

Lu Xun이 말했다 : "나는이 문장을 말하지 않았다"

훈련 목표

학생들에게 문자열을 중첩하는 방법을 알려줍니다.

교육 팁

파이썬에서는 문자열 유형으로 정의 할 수있는 두 가지 형태의 표현식이 있는데 어떤 두 가지 방법이 있습니까?

참조 계획

""및 ''를 사용하여 문자열 정의

단계

  1. 문자열에 포함하려면 双引号""작은 따옴표로 문자열을 정의 할 수 있습니다.

  2. 문자열에 포함하려면 单引号''큰 따옴표로 문자열을 정의 할 수 있습니다.

참조 답변

 # 在python中,''可以嵌套在""中,用以表示字符串中的字符串
 words = "鲁迅说:'我没有说过这句话'"
 print(words)
 ​
 # 还可以使用三引号
 words = """鲁迅说:'我没有说过这句话'"""
 print(words)

 

주제 2 [강화 훈련]

질문 스템

간단한 사용자 정보 관리 시스템 만들기 : 사용자에게 이름, 나이, 취미를 차례로 입력하라는 메시지를 표시하고 입력이 완료되면 사용자가 입력 한 데이터가 한 번에 표시됩니다.

훈련 목표

문자열 선언 문자열 입력 문자열 출력

교육 팁

  1. 파이썬에서는 ""또는 "로 문자열 유형의 변수를 선언합니다.

  2. input () 함수를 사용하여 키보드에서 데이터 가져 오기

  3. % s 형식화 연산자를 통한 출력 문자열 유형

참조 계획

  1. 입력 기능을 통해 문자열 데이터 입력

  2. 문자열 유형을 사용하여 입력 한 데이터 저장

  3. % s를 사용하여 저장된 데이터를 포맷하고 출력합니다.

단계

  1. 입력 기능을 통해 문자열 데이터 입력

  2. 문자열 유형을 사용하여 입력 한 데이터 저장

  3. % s를 사용하여 저장된 데이터를 포맷하고 출력합니다.

참조 답변

 # 录入数据,并保存在变量中
 name = input("请输入姓名:")
 age = input("请输入年龄:")
 hobby = input("请输入您的爱好:")
 ​
 # 格式化输出数据
 print("您的姓名是%s, 您的年龄是%s, 您的爱好是%s" % (name, age, hobby))
 # 使用 f-string
 print(f"您的姓名是{name}, 您的年龄是{age}, 您的爱好是{hobby}")
 ​

 

주제 3 [강화 훈련]

질문 스템

기존 문자열은 다음과 같습니다. 슬라이스를 사용하여 ceg 단어 = "abcdefghi"를 추출하십시오.

훈련 목표

슬라이싱 문자열 사용

교육 팁

1. 슬라이싱 구문 : [start : end : step] 2. 선택한 간격은 "시작"비트에서 시작하여 "끝"비트 이전의 비트에서 끝납니다 (끝 비트 자체는 포함하지 않음), 3. 단계 길이 표시 선택 간격, 기본 단계 크기는 양수입니다. 즉, 왼쪽에서 오른쪽으로 선택하고, 단계 크기가 음수이면 오른쪽에서 왼쪽으로 선택합니다.

참조 계획

1. 슬라이스를 사용하여 가로 채기, 시작 위치는 -7, 끝 위치는 -1 2, 반전 선택, 단계 크기는 2

단계

  1. 시작 위치는 -7, 끝 위치는 -1, 단계 크기는 2입니다.

참조 답변

 a = "abcdefghi"
 ​
 b = a[-7:-1:2]
 print(b)

 

주제 4 [강화 훈련]

질문 스템

James는 크롤러에 대한 프로젝트를 가지고 있습니다. 문자열에서 python 키워드를 검색해야합니다. 현재 그는 index () 함수를 통해 검색합니다. 검색 요구 사항을 충족 할 수 있지만 키워드를 찾을 수없는 경우 항상 오류를보고합니다. , 오류가 발생하는 이유와 최적화 방법은 무엇입니까?

훈련 목표

  1. 찾기 기능과 색인 기능의 차이점 이해

교육 팁

  1. find 함수는 인덱스 값이 발견되면 반환하고 발견되지 않으면 -1을 반환합니다.

  2. 색인 함수는 색인 값이 발견되면 반환하고 찾을 수없는 경우 오류를보고합니다.

참조 계획

  1. 찾기 기능을 사용하여 색인 바꾸기

단계

  1. 찾기 기능을 사용하여 색인 바꾸기

참조 답변

 只需要使用find函数替换掉index函数即可,在功能上, find函数index函数完全一致,不同的是index函数在没有查找到关键字的情况下会报ValueError的异常,因此在一般开发环境下通常都会使用find函数

 

주제 5 [강화 훈련]

질문 스템

1. 문자열 단어에 great라는 단어가 있는지 확인합니다. 그렇다면 각 great 뒤에 s를 추가합니다. 그렇지 않으면 문자열에 great가없는 것으로 출력합니다. 2. 전체 문자열의 모든 단어를 소문자로 변경합니다. 그리고 각 단어의 첫 글자를 대문자 3으로 만들고 시작과 끝의 공백을 제거하고 처리 된 문자열을 출력합니다.

 words = " great craTes Create great craters, But great craters Create great craters "

 

훈련 목표

  1. 문자열 관련 작업

교육 팁

  1. 위의 문제를 해결하기위한 문자열 관련 작업

  2. 판단 문장을 사용하여 문장이 참된 조건을 판단하십시오.

참조 계획

  1. in을 사용하여 특정 하위 문자열이 상위 문자열에 있는지 확인합니다.

  2. replace 함수를 사용하여 부분 문자열을 바꿉니다.

  3. lower 함수를 사용하여 문자열을 소문자로 변경하십시오.

  4. 제목 기능을 사용하여 단어의 첫 글자를 대문자로 표시

  5. 스트립 기능을 사용하여 문자열의 시작과 끝에서 공백을 제거하십시오.

단계

  1. in을 사용하여 특정 하위 문자열이 상위 문자열에 있는지 확인합니다.

  2. replace 함수를 사용하여 부분 문자열을 바꿉니다.

  3. lower 함수를 사용하여 문자열을 소문자로 변경하십시오.

  4. 제목 기능을 사용하여 단어의 첫 글자를 대문자로 표시

  5. 스트립 기능을 사용하여 문자열의 시작과 끝에서 공백을 제거하십시오.

참조 답변

words = " great craTes Create great craters, But great craters Create great craters "

# 判断单词great是否在这个字符串中
if 'great' in words:
	# 将每一个great替换成greats
    words = words.replace("great", "greats")

    # 将单词变成小写
    words = words.lower()

    # 将每一个单词的首字母都大写
    words = words.title()

    # 去除首尾的空白
    words = words.strip()

    # 最后进行输出
    print(words)

else:
    print("great不在该字符串中")

2. 목록

주제 1 [강화 훈련]

질문 스템

목록이 있고, 목록의 각 요소가 s 또는 e로 끝나는 지 판단하고, 그렇다면 새 목록에 넣고 마지막으로 새 목록을 출력합니다.

 list = ["red", "apples", "orange", "pink", "bananas", "blue", "black", "white"]

훈련 목표

학생들에게 목록의 루프 및 값 획득과 목록의 작동 방법을 알립니다.

교육 팁

  1. 목록의 모든 요소를 ​​찾는 방법은 무엇입니까?

  2. 목록의 요소가 끝나는 문자를 결정하는 방법은 무엇입니까?

참조 계획

  1. 루프를 사용하여 목록의 모든 요소를 ​​가져 오시겠습니까?

  2. 목록의 요소는 문자열이므로 아래 첨자 [-1]을 사용하여 마지막 문자의 값을 얻은 다음 판단 할 수 있습니다.

 

단계

  1. 목록의 각 요소 순회

  2. 마지막 문자가 s또는e

  3. 그렇다면 append () 메서드를 사용하여 데이터를 새 목록에 추가합니다.

 

참조 답변

 my_list = ["red", "apples", "orange", "pink", "bananas", "blue", "black", "white"]
 ​
 # 用来存放以e或者s结尾的字符串
 new_list = []
 ​
 for i in my_list:
     # 判断列表中每一个元素是否以s或e结尾
     if i[-1] == 's' or i[-1] == 'e':
         new_list.append(i)
 ​
 # 打印出这个新的列表
 print(new_list)

방법 2 :

문자열의 방법을 사용하여 판단하십시오.

 my_list = ["red", "apples", "orange", "pink", "bananas", "blue", "black", "white"]
 ​
 # 用来存放以e或者s结尾的字符串
 new_list = []
 ​
 for i in my_list:
     # 判断列表中每一个元素是否以s或e结尾
     if i.endswith('s') or i.endswith('e'):
         new_list.append(i)
 ​
 # 打印出这个新的列表
 print(new_list)
 ​

 

 

주제 2 [강화 훈련]

질문 스템

목록이 주어지면 먼저 s로 시작하는 요소를 삭제하고 삭제 후 첫 번째 요소를 "joke"로 수정하고 마지막 요소를 복사하여 joke 뒤에 배치합니다.

 my_list = ["spring", "look", "strange", "curious", "black", "hope"]

훈련 목표

관련 작업 나열

교육 팁

  1. for 루프를 통해 목록을 탐색하여 각 요소를 가져옵니다.

  2. 목록의 조작 방법을 통해 목록 수정

참조 계획

  1. for 루프를 통해 각 요소 가져 오기

  2. 제거하여 목록에서 요소를 제거하십시오.

  3. 삽입 기능을 통해 지정된 위치에 요소 삽입

단계

  1. for 루프를 통해 각 요소를 가져 와서 다음으로 s시작 하는지 확인합니다.

  2. 조건이 참이면 제거를 통해 선택한 요소를 삭제합니다.

  3. 마지막 요소를 가져 와서 지정된 위치에 요소를 배치합니다.

참조 답변

 my_list = ["spring", "look", "strange" "curious", "black", "hope"]
 ​
 for i in my_list[:]:
     # 删除以s开头的元素,
     if i[0] == 's':
         my_list.remove(i)
 ​
 # 修改第一个元素为"joke"
 my_list[0] = "joker"
 ​
 # 获取最后一个元素
 last_one = my_list[-1]
 ​
 # 将最后一个元素放在joke的后面
 my_list.insert(1, last_one)
 ​
 print(my_list)

 

주제 3 [강화 훈련]

질문 스템

다음 두 목록을 결합하고 결합 된 목록을 중복 제거하고 내림차순으로 출력합니다.

 list1 = [11,  4, 45, 34, 51, 90]
 list2 = [4, 16, 23, 51, 0]

 

훈련 목표

목록 작업 방법 사용

교육 팁

  1. 두 목록을 병합하는 방법은 무엇입니까?

  2. 중복 목록을 제거하는 방법?

  3. 내림차순으로 정렬하고 출력하는 방법은 무엇입니까?

 

참조 계획

  1. 목록을 병합하려면 extend () 메서드를 사용하거나 두 개의 목록을 추가 할 수 있습니다.

  2. 목록 중복 제거에는 두 가지 옵션이 있습니다.

  3. 새 목록의 도움을 받아 메서드를 직접 구현하고 원래 목록을 반복하여 요소가 새 목록에 있는지 확인하고 새 목록에있는 경우 다음 요소를 탐색하고 그렇지 않은 경우 새 목록에 추가합니다.

  4. set ()을 사용하여 중복 제거

  5. 정렬 기능은 정렬을 실현할 수 있으며 reverse = True 매개 변수는 목록을 역순으로 정렬합니다.

단계

1. +를 사용하여 목록을 연결 (또는 확장 사용) 2. 목록을 중복 제거 3. 목록을 역순으로 정렬하려면 reverse = True 매개 변수와 함께 정렬 기능을 사용하십시오.

참조 답변

계획 1

 list1 = [11, 4, 45, 34, 51, 90]
 list2 = [4, 16, 23, 51, 0]
 ​
 # 1. 使用 + 合并两个列表
 my_list = list1 + list2
 ​
 # 2. 列表去重
 # 2.1 定义新的空列表保存去重后的数据
 my_list1 = []
 # 2.2 遍历合并后的列表
 for i in my_list:
     # 2.3 判断i 是否在my_list1 中
     if i in my_list1:
         # 2.3.1 如果存在,直接下一次循环
         continue
     else:
         # 2.3.2 将i添加到my_list1 中.
         my_list1.append(i)
 ​
 # 3. 循环结束,得到去重后的列表 my_list1,进行排序
 my_list1.sort(reverse=True)
 ​
 # 4. 输出最后的结果
 print(my_list1)
 ​

 

옵션 2 지금은 걱정하지 말고 나중에 배우십시오.

사용 세트, 중복 제거,

set는 자동 중복 제거 기능이있는 컨테이너이기도합니다 (나중에 배우겠습니다).

지금은 이해가 필요합니다.

 list1 = [11, 4, 45, 34, 51, 90]
 list2 = [4, 16, 23, 51, 0]
 ​
 # 列表拼接
 list3 = list1 + list2
 ​
 # 列表去重
 list4 = set(list3)
 list5 = list(list4)
 ​
 # 列表降序输出
 list5.sort(reverse=True)
 ​
 print(list5)

3. 튜플

주제 1 [강화 훈련]

질문 스템

다음과 같은 두 줄의 코드가 있습니다. tuple1 = (2) tuple2 = (2,) tuple1과 tuple2의 차이점은 무엇입니까?

훈련 목표

요소의 튜플 정의

교육 팁

육안으로 볼 수있는 것은 쉼표 차이 일 뿐인데, 파이썬으로 어떻게 이해합니까?

참조 계획

이 두 변수를 개별적으로 구별하려면 type () 메서드를 사용하십시오.

단계

type (tuple1)을 사용하여 type (tuple12)의 결과와 비교

참조 답변

 tuple1 = (2)
 tuple2 = (2,)
 print(type(tuple1))
 print(type(tuple2))
 # 对于tuple1 = (2),python解释器会将小括号理解成一个运算符号,那么这时候 返回的值是一个int类型
 # 所以对于只有一个元素的元组来说,要创建一个元组,那么就必须要加逗号

 

주제 2 [강화 훈련]

질문 스템

다음 코드가 있습니다. 질문에 답해주세요.

 my_tuple = ("itcast", "python", "CPP", 18, 3.14, True)
  1. 첨자 메서드를 사용하여 튜플의 요소를 출력합니다. "CPP"

  2. for 루프를 사용하여 튜플 순회

  3. while 루프를 사용하여 튜플을 반복합니다.

훈련 목표

  1. 튜플에 대한 첨자 연산

  2. 튜플의 루프 순회

  3. 튜플의 while 루프 순회

교육 팁

  1. 파이썬의 아래 첨자는 0 또는 1에서 시작합니까?

  2. 횡단하는 방법?

  3. 동안 횡단하는 방법? while의 조건을 작성하는 방법?

참조 계획

  1. 아래 첨자는 0부터 시작하므로 CPP의 아래 첨자는 2입니다.

  2. for ... in ...순회 사용

  3. while 루프는 아래 첨자를 사용해야하며 조건은 len()구현 된 수단으로 결정할 수 있습니다.

단계

  1. 아래 첨자 방법을 사용하여 CPP 값을 가져옵니다.

  2. for 루프 순회

  3. while 루프 순회

참조 답변

 my_tuple = ("itcast", "python", "CPP", 18, 3.14, True)
 ​
 # 1. 使用下标的方法,输出元组中的元素 `"CPP"`使用下标的方法,
 result = my_tuple[2]
 print(result)
 ​
 # 2. 使用 for 循环遍历元组
 for i in my_tuple:
     print(i)
 ​
 print("-" * 20)
 ​
 # 3. 使用 while 循环遍历元组
 i = 0
 while i < len(my_tuple):
     print(my_tuple[i])
     i += 1
 ​

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

추천

출처blog.csdn.net/weixin_44949135/article/details/113620031