day02 whileループと書式設定
今日エグゼクティブサマリー
- whileループ
- フォーマット
- 演算子
- 最初のコーディング
昨日の要約
変数
変数の命名規則:
- 数字、文字とアンダースコア
- あなたは数字で始めることはできません
- あなたは、Pythonのキーワードを使用することはできません
- Pythonで変数名は大文字と小文字が区別されます
- 名前の変数は、と記述されるように
- 変数名は漢字とピンインを持つべきではありません
- 変数名推奨言葉遣い:
- ハンプボディ
- アンダーライン
定数
基本データ型
- 弦
- 整数
- ブール値
注記
ユーザーとの対話
プロセス制御
今日の詳細な内容
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
にプリントアウトすることはありません。
break文
明らかに、この死のサイクルとは、私たちの日常のプログラミングのニーズを満たすことができません。サイクルの数を制限する方法があれば非常に有用であろう。ここでは、break文を導入することができます。ブレークは、現在のサイクルを終了することができます。条件文と組み合わせた場合、それは限られた循環の無限ループに変換することができます。例えば:
# 循环5次
count = 0
while True: # 死循环
count = count + 1 # 先执行 = 右边的内容
if count == 5:
print(count)
break # 有限循环
运行的结果为:
5
この例では、我々は最初の変数定義count
カウントするために使用する、となっています计数器
。各サイクルでは、count
それが増加します1
。ときにcount
同じ5
文の条件が成立した場合、現在のプリントアウトcount
実行し、値がbreak
、ループを終了します。我々は成功し、無限ループ限られた循環に変換します。
ステートメントを続けます
またbreak
、サイクル間、非常に重要なステートメントがありますcontinue
。continue
声明は、このサイクルのうちの、次のサイクルが続くことを意味します。簡単に言えば、それから、continue
それがループ本体内のコードの最後の行を装っています。例えば:
count = 0
while True: # 死循环
count = count + 1 # 先执行 = 右边的内容
if count == 5:
print(111)
continue # continue 就是伪装成循环体中最后一行代码
print(count)
明らかに、これは無限ループです。しかし、カウンタcount
等しい5
時間が一度に印刷され111
ており、この時間はcount
、つまり5
、印刷されません。
条件制御ループ
悪循環を断ち切るキーワードを使用して終了に加えて、我々は条件ながら戻ってサイクル数を制御できます。
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
保持していない、ループが終了します。
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
:跳出本次循环,继续下次循环(就是伪装成循环体中最后一行代码)continue
和break
下方的代码都不会执行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)
用大括号将需要格式化的位置标记出来,在大括号里面填入变量或者数据,构建成新的字符串。
其中,可以通过两个大括号{{}}
来转义,表示普通的大括号。
运算符
比较运算符
比较运算符主要有六个:
>
:大于<
:小于>=
:大于等于<=
:小于等于==
:等于!=
:不等于
比较运算返回的值为True
或False
。
算术运算符
Python中的算术运算符有七个:
+
:加和-
:相减*
:相乘/
:相除//
:整除|地板除(向下取整)**
:幂运算%
:取余(模)
算术运算主要用于数字的计算。字符串也可以用+
和*
进行拼接。
赋值运算符
赋值运算符为=
。在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
コーディング知人
共通のコードセット:
- アスキー:
- 中国をサポートしていません。
- 文字は8を占めています
- GBKはGBコード(アスキーが含まれています):
- 英語の文字は、8ビット(1バイト)を占めています
- 中国語文字は16ビット(2バイト)を取り
- ユニコード:
- 英語:4バイト、32ビット
- 中国語:4バイト、32ビット
- UTF-8(最も人気のあるコード・セット):
- 英語:1バイト、8ビット
- ヨーロッパ:2バイト、16
- アジア:3バイト、24
単位変換:
- 1バイト= 8ビット
- 1バイト= 8ビット
- 1024bytes = 1キロバイト
- 1024キロバイト= 1メガバイト
- 1024メガバイト= 1ギガバイト
- 十分に1024ギガバイト= 1TBの#
- 1024TB = 1PB