Pythonエラーコメント


breakpoint(ブレークポイント)は、デバッグ(エラーをキャプチャするプロセス)に非常に効果的に使用できます.「派斬」では、ショートカットキーはShift+F 9です.
変数値の変化を1つずつ確認するには、F 7キーを押してデバッグします.
しょうすうしゅつりょく
質問:複文で少数の人の総和を求める.このとき、合計が2000を超える場合は、繰り返し文を停止し、そのときの合計を印刷します.
講師は問題を説明できない.
私の答え
number = 1 # 늘어나는 수
count = 1 # 소수의 개수
total = 5 # 소수들의 합
yesDecimal= 0 # 소수 확인용 2면 소수

print("시작")
while True:
    if total>=2000:
        print("total값: ",total)
        break
    yesDecimal = 0
    number +=1
    for x in range(1,number+1):
        if number%x == 0:
            yesDecimal +=1
    if yesDecimal == 2:
        print("'%s'번째 소수: %s" %(count, number))
        total += number
        count +=1
print("2000을 넘기기전 소수값: %s"%(total-number))
講師の答え
講師はすべての2000以下の小さい数値を求めて、そしてその総和を求めます.
start_num = 0
num =0
hap = 0
lastData =0

for num in range(2, 2001):
    for start_num in range(2, num+1):
        if num % start_num==0:
            break
    if num == start_num:
        print("소수:",start_num)
        hap += start_num
        print("합계: ",hap)
        lastData = start_num
        print("마지막 소수의 값: ",lastData)
        print("=======================")
start numのループ変数は変わらないことを覚えておいてください.
第10章-資料構造
ファイル内のテキストを読み取り、単語タイプの数を出力します.
# 출력 결과:
# 입력된 파일 이름: text.txt
# 사용된 단어의 개수

# text.txt
All's well that ends well.
Bad news travels faast.
Well begun is half done.
Birds of a feather flock together.

# main.px
def change_word(word):
    result = ''
    for i in word:
        # 만일 받은 단어의 하나의 문자가 영어라면(기호 제거)
        if i.isalpha():
            result += i
    # 단어를 소문자로 하여 반환
    return result.lower()

# 파일의 내용을 세트에 저장한다.
def update_set(text, fp):
    for str in fp:
        # 한 줄을 공백을 기준으로 나누어서 리스트로 반환시킨다.
        words = str.split()
        # 단어에 붙어 있는 기호(. ,)와 대문자를 소문자로 바꾼다.
        # 그 후 그 단어를 세트 text에 저장한다.
        for word in words:
            text.add(change_word(word))

def main():
    # 종류를 따지므로 set의 자료형태를 만든다.
    file_name = input("입력된 파일의 이름: ")
    text = set()
    fp = open(file_name, mode='r', encoding='UTF-8')
    # 파일의 내용을 읽어 세트에 저장한다.
    update_set(text, fp)

    print("사용된 단어의 개수: ",len(text))
    print("사용된 단어: ",text)
    # 열었던 파일을 닫는다.
    fp.close()

if __name__ == '__main__':
    main()
上の問題を解決するのに妨げられるところがある.よくできた部分は、ファイルから読んだ文をsplitに分けてセットに保存することです.そして塞がれた
まず、分割()を書きましたが、句点(.)は、コンマ(,)を組み合わせて出力します.この問題を解決するためにimport reを用いて試みたが成功しなかった.
講師のように、分割で返された単語リストを再びfor文で単語ごとにチェックしてセットに保存すべきだとは知りませんでした.isalpha()が使えないと思いきや、こんな風に使うとは.
計算機の作成
私の答え
from tkinter import *

def oneAdd():
    global result
    result += '1'
    result_text.set(result)

def twoAdd():
    global result
    result += '2'
    result_text.set(result)

def threeAdd():
    global result
    result += '3'
    result_text.set(result)

def fourAdd():
    global result
    result += '4'
    result_text.set(result)

def fiveAdd():
    global result
    result += '5'
    result_text.set(result)

def sixAdd():
    global result
    result += '6'
    result_text.set(result)

def sevenAdd():
    global result
    result += '7'
    result_text.set(result)

def eightAdd():
    global result
    result += '8'
    result_text.set(result)

def nineAdd():
    global result
    result += '9'
    result_text.set(result)

def zeroAdd():
    global result
    result += '0'
    result_text.set(result)

def dotAdd():
    global result
    result += '.'
    result_text.set(result)

def plusAdd():
    global result
    result += '+'
    result_text.set(result)

def minusAdd():
    global result
    result += '-'
    result_text.set(result)

def multiAdd():
    global result
    result += '*'
    result_text.set(result)

def divAdd():
    global result
    result += '/'
    result_text.set(result)

def cancle_button():
    global result
    result = ''
    result_text.set(result)

def calcul():
    global result
    answer = round(eval(result),2)
    result += '='
    result +=  str(answer)
    result_text.set(result)

window = Tk()
window.title('calculator')

mainLabel = Label(window, text='계산기', font='굴림체 10 bold', width=20)
mainLabel.pack(side=TOP)

result = ''
result_text = StringVar()
resultLabel =  Label(window, bg='orange', width=36, textvariable=result_text)
resultLabel.pack(side=TOP)

number_frame = Frame(window, width=30)
number_frame.pack()

div = Button(number_frame, text='/', width=6, command=divAdd)
div.grid(row=0, column=3, sticky=W)

cancle = Button(number_frame, text='C', width=6, command=cancle_button)
cancle.grid(row=0, column=4, sticky=W)

multi = Button(number_frame, text='*', width=6, command=multiAdd)
multi.grid(row=1, column=3, sticky=W)

minus = Button(number_frame, text='-', width=6, command=minusAdd)
minus.grid(row=2, column=3, sticky=W)

plus = Button(number_frame, text='+', width=6, command=plusAdd)
plus.grid(row=3, column=3, sticky=W)

equl = Button(number_frame, text='=', width=6, command=calcul)
equl.grid(row=3, column=2, sticky=W)

dot = Button(number_frame, text='.', width=6, command= dotAdd)
dot.grid(row=3, column=1, sticky=W)

zero = Button(number_frame, text='0', width=6, command= zeroAdd)
zero.grid(row=3, column=0, sticky=W)

one = Button(number_frame, text='1', width=6, command= oneAdd)
one.grid(row=2, column=0, sticky=W)

two = Button(number_frame, text='2', width=6, command= twoAdd)
two.grid(row=2, column=1, sticky=W)

three = Button(number_frame, text='3', width=6, command= threeAdd)
three.grid(row=2, column=2, sticky=W)

four = Button(number_frame, text='4', width=6, command= fourAdd)
four.grid(row=1, column=0, sticky=W)

five = Button(number_frame, text='5', width=6, command= fiveAdd)
five.grid(row=1, column=1, sticky=W)

six = Button(number_frame, text='6', width=6, command= sixAdd)
six.grid(row=1, column=2, sticky=W)

seven = Button(number_frame, text='7', width=6, command= sevenAdd)
seven.grid(row=0, column=0, sticky=W)

eight = Button(number_frame, text='8', width=6, command= eightAdd)
eight.grid(row=0, column=1, sticky=W)

nine = Button(number_frame, text='9', width=6, command= nineAdd)
nine.grid(row=0, column=2, sticky=W)


window.mainloop()
耻ずかしい恥ずかしがる
講演者の回答
# 계산기 프로그램 만들기

from tkinter import *

window = Tk()
window.title("계산기")

display = Entry(window, width=33, bg='yellow')
# 사용자로부터 수식을 입력받고 계산 결과를 보여주는 엔트리 위젯을 여려 병합으로 처리
display.grid(row = 0, column= 0, columnspan=5)

# 버튼에 표식될텍스트를 리스트로 값 설정
button_list = [
    '7','8','9','/','C',
    '4','5','6','*','',
    '3','2','1','-','',
    '0','.','=','+','',
]

row_index = 1
col_index = 0

# 버튼을 생성해서 리스트에 있는 값을 표식
# 17개의 버튼에 전부 이벤트 처리를 해야하는데, 하나의 함수를 정의해서 람다식으로 호출만 하게끔 작성함
# lambda t=button_text: click(t) 코드를 일반코드로 바꾸면 아래와 같다.
# def process(t= button_text)
#   click(t)
for button_text in button_list:
    Button(window, text=button_text, width=5, command=lambda t=button_text: click(t)).grid(row=row_index, column=col_index)
    col_index +=1
    if col_index > 4:
        row_index += 1
        col_index = 0

# 함수 정의
def click(key):
    # 매개변수 key 값이 = 이라면 계산을 하라는 의미
    if key == '=':
        # eval 함수는 문자열의 계산식을 계산해줘서 값을 반환해준다.
        result = eval(display.get())
        s = str(result)
        display.insert(END, '=' + s)
    elif key =='C':
        display.delete(0, END)
    else:
        display.insert(END, key)

window.mainloop()
青茶食20枚
product_menu = [
    (1, '재킷', 5, 120000),
    (2, '셔츠', 6, 24000),
    (3, '바지', 3, 50000),
    (4, '코트', 6, 300000),
]

result = list(map(lambda x:(x[0], x[2]*x[3]), product_menu))
print(result)