[Python] CHAP. 04
構造化プログラミング
- while, break
i = 0
while(i < 10):
print(i)
i = i + 1
if (i == 2):
break
print("end of 'while' ")
i = 0
while (True):
print(i)
i = i + 1
if (i == 2):
break
print("end of 'while' ")
[결과]
0
1
2
end of 'while'
-例)メニューの作成
import random
def addTest():
a = random.randint(0, 10)
b = random.randint(0, 10)
c = a + b
print(a, "+", b, "=", end="")
ans = int(input())
if ans == c:
return 1
else:
return 0
def subTest():
a = random.randint(0, 10)
b = random.randint(0, 10)
c = a - b
print(a, "-", b, "=", end="")
ans = int(input())
if ans == c:
return 1
else:
return 0
score = 0
while(True):
print("-----")
print("[1] add")
print("[2] substract")
print("[q] exit")
print("-----")
m = input("select menu:")
if (m =='q'):
break
elif(m=='1'):
score += addTest()
elif(m=='2'):
score += subTest()
print("your score is ", score)
-1234を1234に変更します。
zero = ord('0')
print(zero)
a = '1'
b = '2'
c = '3'
d = '4'
a = ord(a)
b = ord(b)
c = ord(c)
d = ord(d)
print('ascii code = ', a, b, c, d)
a -= zero
b -= zero
c -= zero
d -= zero
print('digit number = ', a, b, c, d)
digit = a * 1000 + b * 100 + c * 10 + d * 1
print('digit = ', digit)
print('digit = {:d}'. format(digit))
共通の-文字列はヘッダーから1文字にアクセスできます.
>>> s = "1234"
>>> a = len(s) # 문자의 개수를 알려준다
4
>>> s = "1234"
>>> s[0] # 첨자로 개별 값에 접근할 수 있다.
'1' # 첨자는 0부터 3까지
>>> s[1]
'2'
>>> s[2]
'3'
>>> s[3]
'4'
>>> s[0] # 값을 할당할 수는 없다
Error
>> s[-1] # -부호를 붙이면 거꾸로 인덱싱 된다
'4'
def power(n):
p = 1
for i in range(n):
p = p * 10
return p
def myInt(s):
n = len(s)
digit = 0
for i in range(n):
value = ord(s[i]) - ord('0')
digit = digit + value * power(n-1-i)
return 1;
s = '1234'
print("string = '{}'".format(s))
digit = mtInt(s)
print('digit = {:d}'.format(digit))
def myInt(s):
n = len(s)
power = 1
digit = 0
for i in range(n-1, -1, -1):
value = ord(s[i])-ord('0')
digit = digit + value * power
power = power * 10
return digit
s = '1234'
print("string = '{}'".format(s))
digit = myInt(s)
print('digit = {:d}'.format(digit))
-カレンダー出力実装練習
-デジタルゲームの実装
import random
min = 1
max = 10
goal = random.randint(min, max)
trials = 0
bFinish = False
def inputNumber(min, max):
while True:
print('{} ~ {} 숫자를 입력하세요 : '.format(min, max), end='')
a = input()
if len(a) > 2 or len(a) < 1:
print('입력한 문자의 길이가 2보다 크거나 1보다 작습니다')
continue
if len(a) == 2 and a != '10':
print('입력한 문자의 길이가 2인데, 10이 아닙니다')
if len(a) == 1:
if ord(a) < ord('0') or ord(a) > ord('9'):
print('입력한 문자의 길이는 1인데, 0~9 값이 아닙니다')
continue
a = int(a)
if a < min or a > max:
print(min, '~', max, '사이에 정답이 있습니다')
continue
else:
break
return a
while not bFinish:
trials += 1
print(goal)
a = inputNumber(min, max)
if a == goal:
bFinish = True
print("맞추었습니다")
print("시도한 횟수 : ",trials)
else:
if goal < a:
print("입력한 숫자보다 작습니다")
max = a - 1
else:
print("입력한 숫자보다 큽니다")
max = a + 1
print("게임이 종료되었습니다")
-はさみ石布実習
import random
def no2RockPaperScissors(no):
if no==1:
print("가위")
elif no==2:
print("바위")
elif no==3:
print("보")
def whoWin(you, computer):
if you == computer:
return 0
else:
if you == 1 and computer == 3:
return 1
elif you == 2 and computer == 1:
return 1
elif you == 3 and computer == 2:
return 1
else:
return -1
score = 0
games = 0
bGameOver = False
print()
while not bGameOver:
you = input('[1] 가위, [2] 바위, [3] 보 : ')
if you != '1' and you != '2' and you != '3':
print('잘못 입력하셨습니다')
continue
games += 1
print('게임횟수 : ', games)
you = int(you)
#print(you)
you_str=no2RockPaperScissors(you)
print('당신 : ', you_str)
computer=random.randint(1,3)
#print(computer)
computer_str=no2RockPaperScissors(computer)
print('컴퓨터 : ', computer_str)
winner = whoWin(you, computer)
if winner==0:
winner_str='비겼습니다'
score = 0
elif winner==1:
winner_str='이겼습니다'
score += 1
else:
winner_str='졌습니다'
score = 0
print()
print(winner_str)
print('연속으로 이긴 횟수는', score, '입니다')
print()
if score == 3:
print('당신은', games,'만에 연속으로 3번 이겼습니다')
bGameOver = True
if not bGameOver and games % 5 == 0:
print('게임을 포기하겠습니까? [Y] or [N] : ',end='')
choice = input()
if choice=='Y'or choice=='y':
bGameOver=True
while True:
print('계속하시겠습니까? [Y] or [N] : ', end='')
choice = input()
if choice=='N' or choice=='n' or choice=='Y' or choice=='y':
break
if choice=='N' or choice=='n':
break
print()
print('게임이 종료되었습니다')
Reference
この問題について([Python] CHAP. 04), 我々は、より多くの情報をここで見つけました https://velog.io/@jyj1055/Python-CHAP.-04テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol