컴퓨터 레벨 2 Python 기본 질문 브러싱 노트

1. 포맷된 출력에 대하여

: 안내 기호(필수)
<Padding>: "=", "+" 등 패딩에 사용되는 단일 문자
<Alignment>: <왼쪽 정렬,> 오른쪽 정렬, ^ 가운데 정렬
<Width>: 슬롯 설정, 출력 너비
<, >: 숫자에 대한 천 단위 구분 기호, 정수 및 부동 소수점 숫자에 적용 가능
<.precision>: 부동 소수점 숫자의 소수 부분의 정밀도 또는 문자열의 최대 출력 길이
<type>: 정수 유형 b, c, d, o, x
,
_
_ 123;
o는 8진수를 나타냅니다. 예: 0o123은 10진수 83을 나타냅니다.
x는 16진수(소문자 16진수)를 나타냅니다. 예: 0x1a는 10진수 26을 나타냅니다.
X는 16진수(대문자 16진수)를 나타냅니다. 예: 0X1A 10진수로 26을 나타냅니다.
1. 키보드에서 양의 정수 n을 입력하고 필요에 따라 화면에 n을 입력합니다. 형식 요구 사항은 너비가 14자이고 숫자가 가운데 정렬되며 누락된 부분은 =로 채워집니다.

n=eval(input())
print("{:=^14}".format(n))

2. 사용자가 입력한 숫자를 얻어 너비 30자, 16진수, 가운데 맞춤, 소문자로 숫자를 출력하고, 문자를 큰따옴표(")로 채웁니다.

s=input()
print("{:\"^30x}".format(eval(s)))

! 여기서 구덩이에 주목하세요. 큰따옴표(")를 채울 때 "를 직접 채우면 파이썬이 문자열로 처리하기 때문에 오류가 발생하므로 문자열에 큰따옴표 문자가 포함되어야 하는 경우 오류가 발생합니다. 이스케이프 문자를 사용할 수 있습니다.

2. 목록 더하기 및 빼기

1. a와 b는 두 개의 리스트 변수이고, 리스트 a는 [3, 6, 9]가 주어지며, 키보드로 리스트 b를 입력하고 리스트 b의 해당 처음 3개 요소 뒤에 리스트 a의 3개 요소를 삽입하고, 다음을 표시한다. 화면에 출력됩니다.
len(ls): 목록의 요소 수 ls
list(x): x를 목록 유형으로 변환
ls.append(x): 목록 끝에 x 요소 추가 ls
ls.insert(i,x) : 목록의 끝에 요소 x를 추가합니다. ls 요소 x를 위치 i에 추가합니다.

a=[3,6,9]
b=eval(input())
j=1
for i in range(len(a)):
    b.insert(j,a[i])
    j+=2
print(b)

2. 사용자가 쉼표로 구분하여 입력한 세 개의 숫자를 구하고 a, b, c로 기록합니다. a를 70으로, b를 차이로, c를 값의 개수로 하여 증가하는 연산 수열이 생성되고, 이 시퀀스는 목록 형식으로 출력됩니다.
등차수열은 두 번째 항부터 시작하여 각 항과 이전 항의 차이가 동일한 상수와 같은 수열을 말하며 종종 A와 P로 표시됩니다. 이 상수를 등차수열의 허용오차라고 하며, 허용오차는 종종 문자 d로 표시됩니다. [1]
예: 1,3,5,7,9...2n-1. 일반 공식은 다음과 같습니다: an=a1+(n-1) d. 첫 번째 항 a1=1, 공차 d=2. 처음 n 항의 합 공식은 Sn=a1 n+[n*(n-1) d]/2 또는 Sn=[n (a1+an)]/2입니다. 참고: 위의 n은 모두 양의 정수입니다.

#请完善如下代码
a,b,c = 
ls = []
for i in range(c):
	ls.
print(ls)

이 질문을 완성할 수 있는지 직접 해보세요.
거의 20문제를 풀었습니다. 제가 알기로 많은 질문은 크고 작은 문제입니다.
어려울 것 같습니다. 실제로 그가 제공한 코드와 세심한 분석을 바탕으로 질문 중 견고한 기본 Python 구문과 결합하면 여전히 매우 쉽습니다.

#请完善如下代码
a,b,c = eval(input())#序列解包
ls = []#创建一个空列表
for i in range(c):#range(c)循环c次因为要生成c个数量它是从【0,c)的左闭右开的范围所以不需要-1
	ls.append(a+b*i)#append在末尾追加
print(ls)

3. 난수

1. 0을 난수 시드로 사용하고, 1(포함)과 97(포함) 사이에서 무작위로 5개의 난수를 생성하고, 이 5개 난수의 제곱의 합을 계산합니다.
난수 시드를 설정하는 목적은 채점을 용이하게 하기 위해 고정된 답을 얻는 것입니다.
형식은 난수 시드를 초기화하는 시드(a=None)입니다. 기본값은 현재 시스템 시간입니다.
randint(a,b): generate (a,b) 샘플(pop,k) 사이의 정수
: 팝 유형에서 k개 요소를 무작위로 선택하여 리스트 유형으로 반환합니다.
random(): (0.0, 1.0) 사이의 임의의 십진수를 생성합니다.

import random
random.seed(0)
s=0
for i in range(5):
    n=random.randint(1,97)
    s=s+pow(n,2)
print(s)
import random
random.seed(0)
c=[]
for i in range(5):
   c.append(random.randint(1,97))
sum=0
for i in range(5):
    sum+=c[i]**2
print(sum)

2. 100을 난수 시드로 사용하고 1(포함)과 9(포함) 사이에서 무작위로 3개의 난수를 생성하고 이 세 난수의 세제곱합을 계산합니다.
for 루프 내부와 외부에 s=0을 배치하는 것의 차이점은 변수 s의 범위와 수명 주기에 있습니다. 구체적인 차이점은 다음과 같습니다:
for 루프 안에 s=0을 넣습니다:
for i in range(5):
s = 0
s += i
각 루프가 시작될 때 변수 s는 0으로 다시 초기화됩니다. 누적 작업이 수행됩니다. 이는 각 주기의 s가 독립적이며 서로 영향을 미치지 않음을 의미합니다.
for 루프 외부에 s=0을 배치합니다.
s = 0
for i in range(5):
s += i는
루프 외부에서 변수 s를 0으로 초기화한 다음 루프를 통해 매번 s를 누적합니다. 이는 s의 범위가 전체 루프이고 각 루프가 원래 기반으로 누적된다는 것을 의미합니다.
요약하자면, s=0을 for 루프 안에 넣으면 루프할 때마다 변수가 다시 초기화되고, 외부에 넣으면 루프 전체에서 변수의 누적 상태가 유지됩니다.
질문의 의미에 따라 누적이 필요하므로 s를 루프 외부에 배치해야 합니다.

import random
random.seed(100)
s = 0
for i in range(3):
    s+=pow(random.randint(1,9),3)
print(s)

4. 문자열

1. 사용자가 문자열을 입력받아서 문자열을 역순으로 출력한 후 문자열 개수를 출력한다.

  • 슬라이싱 [::-1] 사용: 슬라이싱 연산자 [::-1]를 사용하면 문자열을 역순으로 출력할 수 있습니다.
  • reversed() 함수와 Join() 메서드 결합 사용: reversed() 함수를 사용하여 문자열을 반복자로 변환하고, Join() 메서드를 결합하여 문자를 연결합니다.
  • 재귀 함수 사용: 재귀 함수를 사용하여 문자열을 문자별로 역순으로 출력합니다
    .
a=input()
print(a[::-1],end='')
print(len(a))

두 번째 방법의 예:

a=input()
print(''.join(reversed(a)),end='')
print(len(a))

세 번째 방법의 예:

def reverse_string(s):
    if len(s) == 0:
        return s
    else:
        return reverse_string(s[1:]) + s[0]
a=input()
b = reverse_string(a)
print(b,end='')
print(len(b))

2. 사용자가 입력한 숫자를 얻으면 숫자(0~9)를 해당 한자 "01234567890"으로 바꾸고 대체된 결과를 출력합니다.

n = input()
s = "〇一二三四五六七八九十"
for c in "0123456789":
    n = n.replace(c,s[int(c)])
print(n)

루프에서 바꾸기() 메서드를 사용하여 문자열 n의 현재 숫자를 해당 중국어 숫자로 바꿉니다. int©를 사용하여 문자 c를 인덱스인 정수로 변환한 다음 s[int©]를 사용하여 해당 중국어 숫자를 얻습니다.
나는 모든 사람을 위해 s[eval (c)]를 시도했고 작동했습니다!
2급 합격을 기원합니다! ! ! ! ! ! !

추천

출처blog.csdn.net/m0_68165821/article/details/132916980