0

だから、私は最近Pythonの学習を始めました...私はcsvから情報を引き出す小さなスクリプトを書いています。間違った入力をユーザーに通知できるようにする必要があります

例えば

ユーザーは自分の ID 番号を尋ねられます。ID 番号は r1 から r5 のいずれかです。たとえば、ユーザーが a1 または r50 を入力した場合、ユーザーが必要とする何か間違った入力をしたことをスクリプトでユーザーに伝えることができるようにしたいと考えています。間違ったパラメータを入力したことが通知されます。どうすればいいですか?

私はdefステートメントを調べましたが、Pythonのすべての構文を把握できないようです....(すべてのコマンドを知りません...パラメータなど)

どんな助けでも大歓迎です= D

while True: 
    import csv 
    DATE, ROOM, COURSE, STAGE = range (4) 
    csv_in = open("roombookings.csv", "rb") 
    reader = csv.reader (csv_in) 
    data = [] 
    for row in reader: 
        data.append(row) 
    roomlist = raw_input ("Enter the room number: ") 
    print "The room you have specified has the following courses running: " 
    for sub_list in data: 
        if sub_list[ROOM] == roomlist: 
            Date, Room, Course, Stage = sub_list 
            print Date, Course
4

2 に答える 2

1

何を求めているのかわかりませんが、ユーザーが正しい ID を入力したかどうかを確認したい場合は、正規表現を試してください。モジュール re の Python ドキュメントを参照してください。または、Google に「python re」と尋ねます。

ユーザーの入力をチェックする例を次に示します。

import re

id_patt = re.compile(r'^r[1-5]$')
def checkId(id):
    if id_patt.match(id):
        return True
    return False

HTHさん、はじめまして。

編集:私はあなたの質問をもう一度読みました.ここにいくつかのコードがあります:(前のコードフラグメントの下に貼り付けてください)

validId = False
while not validId:
    id = raw_input("Enter id: ")
    validId = checkId(id)

ちなみに、これはかなり短い方法で記述できますが、このコードは、Python を初めて使用する人にとって理解しやすいはずです。

于 2009-06-04T11:57:55.080 に答える
1

真剣に、チュートリアルを読んでください。公式のものはかなり良いです。初心者向けのも好きです。

import csv

while True:
    id_number = raw_input('(enter to quit) ID number:')

    if not id_number:
        break

    # open the csv file
    csvfile = csv.reader(open('file.csv'))
    for row in csvfile:
        # for this simple example I assume that the first column 
        # on the csv is the ID:
        if row[0] == id_number:
            print "Found. Here's the data:", row
            break
    else:
        print "ID not found, try again!"

EDIT コードを追加したので、例を更新します。

import csv
DATE, ROOM, COURSE, STAGE = range(4) 

while True: 
    csv_in = open("roombookings.csv", "rb") 
    reader = csv.reader(csv_in) 
    roomlist = raw_input("(Enter to quit) Room number: ") 
    if not roomlist:
        break
    print "The room you have specified has the following courses running: " 
    for sub_list in reader: 
        if sub_list[ROOM] == roomlist: 
            print sub_list[DATE], sub_list[COURSE]
于 2009-06-04T12:03:23.307 に答える