day02 whileループと書式設定

day02 whileループと書式設定

今日エグゼクティブサマリー

  1. whileループ
  2. フォーマット
  3. 演算子
  4. 最初のコーディング

昨日の要約

  1. 変数

    変数の命名規則:

    1. 数字、文字とアンダースコア
    2. あなたは数字で始めることはできません
    3. あなたは、Pythonのキーワードを使用することはできません
    4. Pythonで変数名は大文字と小文字が区別されます
    5. 名前の変数は、と記述されるように
    6. 変数名は漢字とピンインを持つべきではありません
    7. 変数名推奨言葉遣い:
      • ハンプボディ
      • アンダーライン
  2. 定数

  3. 基本データ型

    • 整数
    • ブール値
  4. 注記

  5. ユーザーとの対話

  6. プロセス制御

今日の詳細な内容

whileループ

whileループの基本構造

サイクルは、常に何かを繰り返しています。whileこれは、キーワードwhileループ、です。

whileループの基本構造:

while 条件:
缩进 循环体

whileループの典型的な例:

print(1111)
while True:   # 死循环
    print("坚强")
    print("过火")
    print("鸡你太美")
    print("大碗宽面")
print(333)

上記の例では、第一工程、第一の印刷1111第二段階は、決定するためにwhile文を入力しwhileた条件が真であるかどうか。while文の後にあるTrueループの本体に、真。第3のステップは、印刷することです坚强第四五、六回には、それぞれ、プリントアウト过火鸡你太美および大碗宽面ループ本体内で実行するようにContentが完了すると、プログラムはwhile文に戻ります。第7のステップは、判断し続けるwhile真後に条件。その後、ループの本体、転載内容に続けています。while文の次に復帰。while文の後に条件が常にされているのでTrue、そのためのサイクルは、まだ立っていない、無限ループになります。最後333にプリントアウトすることはありません。

1567757718914

break文

明らかに、この死のサイクルとは、私たちの日常のプログラミングのニーズを満たすことができません。サイクルの数を制限する方法があれば非常に有用であろう。ここでは、break文を導入することができます。ブレークは、現在のサイクルを終了することができます。条件文と組み合わせた場合、それは限られた循環の無限ループに変換することができます。例えば:

# 循环5次
count = 0
while True:  # 死循环
    count = count + 1  # 先执行 = 右边的内容
    if count == 5:
        print(count)
        break # 有限循环
        
运行的结果为:
5

この例では、我々は最初の変数定義countカウントするために使用する、となっています计数器各サイクルでは、countそれが増加します1ときにcount同じ5文の条件が成立した場合、現在のプリントアウトcount実行し、値がbreak、ループを終了します。我々は成功し、無限ループ限られた循環に変換します。

1567758395997

ステートメントを続けます

またbreak、サイクル間、非常に重要なステートメントがありますcontinuecontinue声明は、このサイクルのうちの、次のサイクルが続くことを意味します。簡単に言えば、それから、continueそれがループ本体内のコードの最後の行を装っています。例えば:

count = 0
while True:  # 死循环
    count = count + 1  # 先执行 = 右边的内容
    if count == 5:
        print(111)
        continue  # continue 就是伪装成循环体中最后一行代码
    print(count)

明らかに、これは無限ループです。しかし、カウンタcount等しい5時間が一度に印刷され111ており、この時間はcount、つまり5、印刷されません。

QQの絵20190906145135

条件制御ループ

悪循環を断ち切るキーワードを使用して終了に加えて、我々は条件ながら戻ってサイクル数を制御できます。

count = 0
while count < 2:
    print(count)
    count = count + 1
    
打印出的结果为:
0
1

上記の例では、開始カウンタcount値です0状態が続いている間に実行count < 2、ループの本体に、真です。まず、count内容0そしてプリントアウトし、count増加し1、次のサイクルを入力し、。第二サイクルは同じ、印刷され1た後countになった2、その後、しばらく前に裁判官の文章。この時点で、count < 2保持していない、ループが終了します。

QQの絵20190906145142

elseステートメント中

while语句也有判断的行为,所以也可以配合else语句使用。while else结构和if else结构很相似。只有当while后判断的条件不成立时,才会执行else中的语句。如果循环中没有break,else语句中的内容将在循环结束后执行;如果循环中有break,else语句中的内容有可能不被执行。观察下面两个例子:

print(222)
count = 0
while count < 3:
    print(count)
    count = count + 1
else:
    print(111)
# 运行结果: 222 0 1 2 111

print(222)
count = 0
while count < 3:
    print(count)
    count = count + 1
    break
else:
    print(111)
# 运行结果: 222 0

在第一个例子中,经过三次循环后,计数器count的值将增加到3。此时,条件count < 3不再满足,跳出循环,执行else语句,打印出111来。而第二个例子中,在第一次循环中就遇到了break,循环被强行终止,并没有再次判断count < 3,于是就不会进入到else中,111便打印不出来。

while循环小结

  • break:终止当前循环
  • continue:跳出本次循环,继续下次循环(就是伪装成循环体中最后一行代码)
  • continuebreak下方的代码都不会执行
  • while 循环可以通过条件控制循环的次数
  • while 语句可以和 else 语句配合使用,当 while后的条件不满足时,将会运行else中的语句。

格式化

有这样一个字符串:

msg = """
------info------
name:meet
age:18
sex:男
hobby:女
-------end------
"""

如果我们想让用户输入名字,年龄,性别和爱好,然后程序按照上面的格式给打印出来。从目前我们所学的知识,我们可以用这样的代码来实现:

a = "------info------"
b = "name:"
c = "age:"
d = "sex:"
e = "hobby:"
f = "-------end------"
name = input("name")
age = input("age")
sex = input("sex")
hobby = input("hobby")
print(a)
print(b + name)
print(c + age)
print(d + sex)
print(e + hobby)
print(f)

代码运行后就是这样的:
namealex
age18
sex男
hobby女
------info------
name:alex
age:18
sex:男
hobby:女
-------end------

%格式化

不过虽然我们实现了需求,但是太过繁琐。这里就可以用到格式化的方法。格式化,就是在字符串中需要自定义的位置放入占位符,然后通过给占位符提供数据,从而构建新的字符串。提供的数据需要和占位符一一对应,否则将会报错。

Python中常用的占位符有:

  • %s 字符串 :%s可以填充字符串也可以填充数字
  • %d|%i整型 : 必须填充数字
  • %% 转义:变成普通的%

有了格式化的方法,上面的例子我们就可以简化成这个样子:

name = input("name")
age = input("age")
sex = input("sex")
hobby = input("hobby")
a = "哈哈啊"
msg = """
------info------
name:%s
age:%s
sex:%s
hobby:%s
-------end------
"""
print(msg%(name,int(age),sex,hobby))

f-strings格式化

在Python 3.6及以后的版本中引入了一个新的f-strings方法格式字符串,把上面的格式化方法进一步简化,具体做法为:

msg = f"""
------info------
name:{input("name")}
age:{input("age")}
sex:{input("sex")}
hobby:{input("hobby")}
-------end------
"""
print(msg)

用大括号将需要格式化的位置标记出来,在大括号里面填入变量或者数据,构建成新的字符串。

其中,可以通过两个大括号{{}}来转义,表示普通的大括号。

运算符

比较运算符

比较运算符主要有六个:

  1. >:大于
  2. <:小于
  3. >=:大于等于
  4. <=:小于等于
  5. ==:等于
  6. !=:不等于

比较运算返回的值为TrueFalse

算术运算符

Python中的算术运算符有七个:

  1. +:加和
  2. -:相减
  3. *:相乘
  4. /:相除
  5. //:整除|地板除(向下取整)
  6. **:幂运算
  7. %:取余(模)

算术运算主要用于数字的计算。字符串也可以用+*进行拼接。

赋值运算符

赋值运算符为=。在Python中,为了输入简便,还从其中算术运算符中衍生出了七种赋值运算符:+=-=*=/=//=**=%=。它们的用法和含义如下:

a = 10
b = 2
b += 1  # b = b + 1
a -= 1  # a = a - 1
a *= 2  # a = a * 2
a /= 2  # a = a / 2
a //= 2 # a = a // 2
a **= 2 # a = a ** 2
a %= 2  # a = a % 2

逻辑运算符

逻辑运算符有三个:与(and,并且)、或(or)、非(not,不是)。

逻辑运算的优先级是() > not > and > or,查找顺序为从左向右。例如:

3>2 and 4>2 or True and not False and True
# 先运算比较
True and True or True and not False and True
# 再运算not
True and True or True and True and True
# 运算and
True or True
# 最后运算or
True

当数字之间进行逻辑运算时,有这样一套规则:

and数字进行逻辑运算时:
    两边都不为0和False时,选择and后边的内容
    两边都为假时,选择and前的内容
    一真一假选择假

or 数字进行逻辑运算时:
    两边都不为0和False时,选择or前边的内容
    两边都为假时,选择or后边的内容
    一真一假选择真

官方给出的运算规则是这个样子的:

操作 结果
x or y 如果x为假,选择y,否则选择x
x and y 如果x为假,选择x,否则选择y
not x 如果x为假,返回True,否则返回False

可以通过下面的示例来找到这些规律:

print(1 and 3)
print(0 and 8)
print(9 and 4)
print(False and 5)

成员运算符

在Python中,成员运算符有两个:

  • Bで:Bかどうかを決定するため、
  • Bではない:かどうか、Bを決定するため、

具体的な例を使用します。

name = "alex"
msg = input(">>>")
if name in msg:
    print(111)
else:
    print(222)
    
输出结果为:
>>>alexad
111
>>>alecxaa
222

コーディング知人

共通のコードセット:

  1. アスキー:
    • 中国をサポートしていません。
    • 文字は8を占めています
  2. GBKはGBコード(アスキーが含まれています):
    • 英語の文字は、8ビット(1バイト)を占めています
    • 中国語文字は16ビット(2バイト)を取り
  3. ユニコード:
    • 英語:4バイト、32ビット
    • 中国語:4バイト、32ビット
  4. UTF-8(最も人気のあるコード・セット):
    • 英語:1バイト、8ビット
    • ヨーロッパ:2バイト、16
    • アジア:3バイト、24

単位変換:

  • 1バイト= 8ビット
  • 1バイト= 8ビット
  • 1024bytes = 1キロバイト
  • 1024キロバイト= 1メガバイト
  • 1024メガバイト= 1ギガバイト
  • 十分に1024ギガバイト= 1TBの#
  • 1024TB = 1PB

おすすめ

転載: www.cnblogs.com/shuoliuchina/p/11494919.html