練習問題/解答例/英単語しりとりプログラム/Python
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[練習問題]]
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
from random import shuffle, choice
from itertools import count
from collections import defaultdict
try:
input = raw_input
except NameError:
pass
with(open(sys.argv[1], 'r')) as F:
dic = list(set(F.read().strip().split('\n')))
first_words = [ e[0] for e in dic ]
used = defaultdict(int)
players = [ 'あなた', 'わたし' ]
shuffle(players)
startswith = None
for i in count(1):
if players[i % len(players)] == 'あなた':
if startswith == None:
startswith = choice(first_words)
sys.stdout.write('{0:3}: あなたの番です。 "{1}":...
s = input()
while not (s.startswith(startswith) and s in dic):
if not s.startswith(startswith):
print('"{0}"で始まっていません。 '.forma...
else:
print('辞書にありません。')
sys.stdout.write('{0:3}: あなたの番です。 "{...
s = input()
if s in dic:
if s in used:
print('"{0}"は{1}回目に{2}が使用していま...
break
startswith = s[-1]
used[s] = i
else:
msg = '{0:3}: わたしの番です。 '.format(i)
if startswith == None:
word = choice(dic)
startswith = word[-1]
used[word] = i
print(msg + '{0}'.format(word))
else:
words = [ e for e in dic if e.startswith(sta...
if len(words) == 0:
print('まいりました! あなたの勝ちです。')
break
else:
word = choice(words)
startswith = word[-1]
used[word] = i
print(msg + '{0}'.format(word))
print('今回のしりとりでは{0}個の単語を使用しました。'.fo...
終了行:
[[練習問題]]
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
from random import shuffle, choice
from itertools import count
from collections import defaultdict
try:
input = raw_input
except NameError:
pass
with(open(sys.argv[1], 'r')) as F:
dic = list(set(F.read().strip().split('\n')))
first_words = [ e[0] for e in dic ]
used = defaultdict(int)
players = [ 'あなた', 'わたし' ]
shuffle(players)
startswith = None
for i in count(1):
if players[i % len(players)] == 'あなた':
if startswith == None:
startswith = choice(first_words)
sys.stdout.write('{0:3}: あなたの番です。 "{1}":...
s = input()
while not (s.startswith(startswith) and s in dic):
if not s.startswith(startswith):
print('"{0}"で始まっていません。 '.forma...
else:
print('辞書にありません。')
sys.stdout.write('{0:3}: あなたの番です。 "{...
s = input()
if s in dic:
if s in used:
print('"{0}"は{1}回目に{2}が使用していま...
break
startswith = s[-1]
used[s] = i
else:
msg = '{0:3}: わたしの番です。 '.format(i)
if startswith == None:
word = choice(dic)
startswith = word[-1]
used[word] = i
print(msg + '{0}'.format(word))
else:
words = [ e for e in dic if e.startswith(sta...
if len(words) == 0:
print('まいりました! あなたの勝ちです。')
break
else:
word = choice(words)
startswith = word[-1]
used[word] = i
print(msg + '{0}'.format(word))
print('今回のしりとりでは{0}個の単語を使用しました。'.fo...
ページ名: