IoTと無線ネットワーク(5)

前言

今天老师讲了各种开源协议,开源代码。

IoT知識

python

pythonプログラミング(5)

一、単純文と複合文

1.単純文と複合文簡単紹介

  • 単純文: 1行のコードで記述
    image-00020625122823055
  • 複合文:1つ以上の節で構成

    1つの節は2行以上のコードで 記述

    1行目:ヘッダ(header)部,行末に “:”

    2行目とそれ以降: スイート(suite)部
    image-00020625123004555

2.複合文の例

  • 例1: if文
  • image-00020625123204190
  • 例2: for文
    image-00020625123219377
  • 例3: while文
    image-00020625123233510

二、条件文

if, elif, elseを用いて 構成

  • 例1(if)
    image-00020625123440749
  • 例2(if-else)
    image-00020625123455795
  • 例3(if-elif-else)
    image-00020625123512037
  • 例4 (if-elif-...- else)
    image-00020625123526013

三、for文

for-in-range

  • 例: 0, 1, 2, ... , 9に ついて繰り返す
    image-00020625123646957
  • 例: リストの要素について繰り返す
    image-00020625123708075
  • 例: 文字列内の文字について繰り返す
    image-00020625123722807

四、while文

  • 条件が真(True)であるあいだ繰り返す
    image-00020625123846007

    breakによる繰り返しの中止

    • 何かが起きるまで繰り返したい場合には,無限ループ を使用する
    • ループによる繰り返しを中断するためにbreak文を用 いる
    • for文の中でもbreak文が使える

    image-00020625124000491

五、関数 range()

1.range()

  • 指定された範囲の整数を順に生成
  • rangeのバリエーション

    • range( end )
    • range( start,end )
    • range( start,end, step )
  • end は省略できない
  • start が省略された場合,start = 0
  • step が省略された場合, step = 1
  • 生成される値には end は含まれない
  • step の値が負の場合には,値を減少させる

2.関数 rangeの使用例

  1. range( end )
    image-00020625124539944
  2. range( start,end )
    image-00020625124556813
  3. range( start,end, step )
    image-00020625124609840
  4. range( start,end, step )

    • step の値が負の場合には,値を減少させる

    image-00020625124634074

  5. rangeそのものは関数であって値を持たない
    image-00020625124654152
  6. listの生成

    • 関数 rangeを使ったリストの生成

    image-00020625124712524

  7. breakとcontinue

    • break
      • ループを終了
    • continue
      • 繰返しを スキップ

    image-00020625124836576

演習課題

  • エラトステネスの篩(ふるい)は,指定された整数以下の全ての素数を発見する ための単純なアルゴリズムである。古代ギリシアの科学者、エラトステネスが考 案したとされるため、この名がある。 https://ja.wikipedia.org/wiki/%E3%82%A8%E3%83%A9%E3%83%88%E3%82 %B9%E3%83%86%E3%83%8D%E3%82%B9%E3%81%AE%E7%AF%A9)
  • このアルゴリズムを用いて,標準入力から入力された整数以下の素数をすべて標 準出力に出力するPythonのプログラムを作成しなさい。
  • このプログラムを用いて,1000以下の素数を全て出力せよ。
# 今天可能状态也不行吧,总之这题目不是我自己解的。参照了网上的方案,有两种解法。
# 解法一
num=[]
i=2
for i in range(2,100):
   j=2
   for j in range(2,i):
      if(i%j==0):
         break
   else:
      num.append(i)
print(num)

# 解法二
import math
def func_get_prime(n):
  return filter(lambda x: not [x%i for i in range(2, int(math.sqrt(x))+1) if x%i ==0], range(2,n+1))

print func_get_prime(100)

# 我的解法
p = []
n = 1000
for num in range(2,n+1):
    for i in range(2,num):
        if(num%i)==0:
            break
    else:
        p.append(num)
print(p)
    我可能有烦心事了,说是放弃就会快乐,并非如是。之前的烦恼是时间不够用,学校要写论文,公司要写代码,吉他得练,健身,登山,合气道,聚会。因为疫情的缘故,各种活动都停了,短暂的轻松,可是论文,研发,吉他。三件事就够我忙碌的了。

    上周五晚买了人生第一条领带,周六一早正装危坐的做着论文答辩的初审。校长说这样的论文,完成度只有三分之一,要到学会,杂志发表的程度,还有三分之二要走。写了邮件给老师,说要努力,写出满意的论文之后,和jt去大阪。

    一个星期的时间,终于,今天写邮件和教授商量着,论文要放弃了,不想写了。研究太累,还是敲敲代码毕业轻松吧。公司研发这边,把设定的部分交给了其他人去做,我只做运行的部分。放弃了,这周不再有梦中研究,却也空空的。

    制定了一个粗略的目标,一年时间准备,存钱。搬家,换装,换状态。

    看中了一块手表,想买,信用卡花太多了,剩下的额度不够,申请了提额被拒了。

238091591703316_.pic_hd
238091591703316_.pic_hd

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Scroll to Top