デバッグ - 猫の兄は、爬虫類018を書くためにあなたを教えます

バグの歴史

最初の話だけのバグ

母グレース・ハーバート(グレース・ホッパー)のコンピュータ・プログラム。

バック、彼女は次の描画このため、プログラム怪物だった1947年、中時間...

コンピュータの普遍的な進化の最初のバージョン - マーク番号(マークII)2

bugコンピュータ分野のプログラムの障害と同義化身で

諺に通り、5分、デバッグ2時間コーディング

このコードは、それを文句を言うのだろうか?

a = input('请输入密码:')
if a == '123456'
    print('通过')
复制代码

コードの一部が間違ってあります...

for x in range(10):
     print(x)  
for x in range(10):
    print(x)  
复制代码

このセクションを見てください...

n = 0
while n<3:
    username = input("请输入用户名:")
    password = input("请输入密码:")
    if username == 'abc' and password == '123':
        print("登录成功")
        break
    else:
        n=n+1
        print("输入有误")
else:
    print("你输错了三次,登录失败")
复制代码

無精ひげを一緒に来て...

見つかった日曜日のリストから、

week = ['星期一','星期二','星期三','星期四','星期五','星期六','星期日']
sunday = week[7]
print(sunday)
复制代码

空のリストを作成し、値の内部に挿入されています...

a = []
a = append ('A','B','C')
print(a)
复制代码

あなたが見つけたとき、その知識を思い出すことができないか、必要かつタイムリーな見直しを決定したり、インターネットを検索することができません。

エラーには、このような状況が頻繁に発生しやすい、わからないコードを書くために自分自身を強制しないでください。

私たちが達成するための詳細及び手段に明確に十分だと思うので、不明確な思考は、我々はより多くの複雑な問題を解決するときことを意味し、

エラーがないものの、どちらかが、プログラムは私たちが望む結果を達成していません。どちらのステップが間違っている、間違ったステップにつながります。

仕事を離れる前に...

このコードは、問題はありますか?

movie = {
    '妖猫传':['黄轩','染谷将太'],
    '无问西东':['章子怡','王力宏','祖峰'],
    '超时空同居':['雷佳音','佟丽娅']
}
name=input('你查询的演员是?')
for i in movie:
    actors=[i]
    if name in actors:
        print(name+'出演了'+i)
复制代码

コインを推測...

import random
guess = ''
while guess not in ['正面','反面']:
    print('------猜硬币游戏------')
    print('猜一猜硬币是正面还是反面?')
    guess = input('请输入“正面”或“反面”:')
# 随机抛硬币,0代表正面,1代表反面
toss = random.randint(0,1)
if toss == guess:
    print('猜对了!你真棒')
else:
    print('没猜对,你还有一次机会。')
    guess = input('再输一次“正面”或“反面”:')
    if toss == guess:
        print('你终于猜对了!')
    else:
        print('大失败!')
复制代码

age = int(input('你今年几岁了?'))
if age < 18:
    print('不可以喝酒噢')
复制代码

番号がない場合は...

だから、解決策はあります...

try:
    age = int(input('你今年几岁了?'))
    if age < 18:
        print('不可以喝酒噢')
except ValueError:
    print('你喝多了吧...')
复制代码

このコードは、問題はありませんか?

num = [1,2,0,3]
for x in num:
    print (6/x)
复制代码

だから、ソリューションです....

num = [1,2,0,3]
for x in num:
    try:
        print (6/x)
    except ZeroDivisionError:
        print('0不能做除数')
复制代码

すべての異常な概要...

例外名 説明
BaseException すべての例外の基底クラス
SystemExitを 通訳終了要求
KeyboardInterrupt (通常は^ Cを入力してください)実行割り込みユーザー
例外 一般エラーの基本クラス
呼び出すとStopIteration これ以上の値をイテレータありません
GeneratorExit (発電機)が発生出口例外発生を通知します
StandardError すべての標準の例外建て基底クラス
ArithmeticError すべての数値誤差基底クラス
FloatingPointError 浮動小数点計算エラー
OverflowErrorを 最大限界値計算を超え
ZeroDivisionError ゼロ(すべてのデータ型)の(又は弾性率)に加え
AssertionErrorが アサーションが失敗
AttributeError オブジェクトは、このプロパティを持っていません
例外EOFError 内蔵のいかなる入力、EOFマーカーに到達しないように
EnvironmentError OSエラーの基本クラス
例外IOError 入力/出力操作が失敗します
OSErrorの オペレーティングシステムエラー
WindowsError システムコールは失敗します
ImportError インポートモジュール/オブジェクト失敗
LookupErrorが 無効なクラス・データベースクエリ
IndexError このシーケンスインデックス(指数)なし
KeyError例外 このキーマッピングなし
MemoryError メモリオーバーフローエラー(Pythonインタプリタのために致命的ではありません)
NameError 宣言されていない/(無属性)オブジェクトを初期化していません
UnboundLocalError ローカルアクセス初期化されていない変数
ReferenceError 弱参照オブジェクト(弱参照)のガベージコレクションにアクセスしようとしています
ランタイムエラー 一般的なランタイムエラー
NotImplementedError この方法は、実装されていません
構文エラー Pythonの構文エラー
IndentationError インデントエラー
TabError タブとスペースのミックス
システムエラー 一般通訳システムエラー
例外TypeError 操作の型が無効です
ValueError 無効なパラメータが渡されました
UnicodeError ユニコード関連のエラー
UnicodeDecodeError ユニコードのデコードエラー
UnicodeEncodeErrorを Unicodeのエンコーディングエラー
UnicodeTranslateError Unicode変換エラー
警告 警告の基底クラス
DeprecationWarning 廃止予定の機能に関する警告
FutureWarning セマンティクスの将来の構造に関する警告が変更されました
オーバーフロー警告 およそ自動的に長整数(ロング)のに昇格古い警告
PendingDeprecationWarning 廃棄物の特性についての警告が表示されます
RuntimeWarning 疑わしい動作(ランタイム動作)実行時の警告
SyntaxWarning 不審な警告文法
UserWarning ユーザコード生成警告

最終試験が終わって、教育システムのわずかな増加は、彼らの得点数、必要なコースを見つけ、

彼はPythonが彼らの平均スコアを計算したかったです。

だから、次のコードを書いて、常にではないが、その結果、バグを修正する手助けとプログラムを介して実行してください。

scores = {'语文':89, '数学':95, '英语':80}
sum_score = 0
def get_average(scores):
    for subject, score in scores.items():
        sum_score += score
        print('现在的总分是%d'%sum_score)
    ave_score = sum_score/len(scores)
    print('平均分是%d'%ave_score)
get_average(scores)
复制代码

Xiaoqiangはカイという名前の新しい友人に会った、彼はあなたが彼にニックネームを与えることを望んでいるが、彼は彼の犬と樹皮と呼ばれるように好きではなかったです、

于是写了一个程序让自己避免叫他这两个外号中的一个,可是不知为什么叫他小狗程序也没有警告。

not_bad_word = True
while not_bad_word:
    x = input('请给旺财取个外号:')
    if x == '小狗' and x =='汪汪':
        not_bad_word = False
        print('我生气了,不想理你了!')
print('对不起,以后我不会这么叫你了')
复制代码

小明想用python写个程序,看看自己的存款每个月涨了多少倍。

可是发现程序报错,你能帮他找出错误,使程序重新运行吗?

deposit = [100,300,900,2000,5000,0,2000]
for i in range(1, len(deposit)):
    times = deposit[i]/deposit[i-1]
    print('你的存款涨了%f倍'%times)
复制代码

练习目标:

通过这个练习,我们会用代码做出一个贴心的除法计算器:

只要输入有误,就会给出相应的报错信息。

练习要求:

这个除法计算器需要包含的报错信息有:

输入了非数值(即不属于整数和浮点数)、除数为零以及变量不存在。

为了让代码可以给出相应的报错信息,我们可以运用课堂中谈到的try...except语句。

快速跳转:

猫哥教你写爬虫 000--开篇.md
猫哥教你写爬虫 001--print()函数和变量.md
猫哥教你写爬虫 002--作业-打印皮卡丘.md
猫哥教你写爬虫 003--数据类型转换.md
猫哥教你写爬虫 004--数据类型转换-小练习.md
猫哥教你写爬虫 005--数据类型转换-小作业.md
猫哥教你写爬虫 006--条件判断和条件嵌套.md
猫哥教你写爬虫 007--条件判断和条件嵌套-小作业.md
猫哥教你写爬虫 008--input()函数.md
猫哥教你写爬虫 009--input()函数-人工智能小爱同学.md
猫哥教你写爬虫 010--列表,字典,循环.md
猫哥教你写爬虫 011--列表,字典,循环-小作业.md
猫哥教你写爬虫 012--布尔值和四种语句.md
猫哥教你写爬虫 013--布尔值和四种语句-小作业.md
猫哥教你写爬虫 014--pk小游戏.md
猫哥教你写爬虫 015--pk小游戏(全新改版).md
猫哥教你写爬虫 016--函数.md
猫哥教你写爬虫 017--函数-小作业.md
猫哥教你写爬虫 018--debug.md
猫哥教你写爬虫 019--debug-作业.md
猫哥教你写爬虫 020--类与对象(上).md
猫哥教你写爬虫 021--类与对象(上)-作业.md
猫哥教你写爬虫 022--类与对象(下).md
猫哥教你写爬虫 023--类与对象(下)-作业.md
猫哥教你写爬虫 024--编码&&解码.md
猫哥教你写爬虫 025--编码&&解码-小作业.md
猫哥教你写爬虫 026--模块.md
猫哥教你写爬虫 027--模块介绍.md
猫哥教你写爬虫 028--模块介绍-小作业-广告牌.md
猫哥教你写爬虫 029--爬虫初探-requests.md
猫哥教你写爬虫 030--爬虫初探-requests-作业.md
猫哥教你写爬虫 031--爬虫基础-html.md
猫哥教你写爬虫 032--爬虫初体验-BeautifulSoup.md
猫哥教你写爬虫 033--爬虫初体验-BeautifulSoup-作业.md
猫哥教你写爬虫 034--爬虫-BeautifulSoup实践.md
猫哥教你写爬虫 035--爬虫-BeautifulSoup实践-作业-电影top250.md
猫哥教你写爬虫 036--爬虫-BeautifulSoup实践-作业-电影top250-作业解析.md
猫哥教你写爬虫 037--爬虫-宝宝要听歌.md
猫哥教你写爬虫 038--带参数请求.md
猫哥教你写爬虫 039--存储数据.md
猫哥教你写爬虫 040--存储数据-作业.md
猫哥教你写爬虫 041--模拟登录-cookie.md
猫哥教你写爬虫 042--session的用法.md
猫哥教你写爬虫 043--模拟浏览器.md
猫哥教你写爬虫 044--模拟浏览器-作业.md
猫哥教你写爬虫 045--协程.md
猫哥教你写爬虫 046--协程-实践-吃什么不会胖.md
猫哥教你写爬虫 047--scrapy框架.md
猫哥教你写爬虫 048--爬虫和反爬虫.md
猫哥教你写爬虫 049--完结撒花.md

转载于:https://juejin.im/post/5cfc4ad86fb9a07ebd48c902

おすすめ

転載: blog.csdn.net/weixin_33743248/article/details/91459398