PYTHON Fantasy Adventure18小さなプロジェクトを作成する

PYTHON Fantasy Adventure18小さなプロジェクトを作成する

毎日正午にみんなで食事をするのに10分しかかからないので、何かすることがあれば、それを見て、簡単に言語をマスターしましょう!一緒に頑張りましょう。

Xiaopengpengのファンタジーアドベンチャーはアメリカのラスベガスにやって来て、弟についての質問を投稿するために多くの時間を費やしました。早く家に帰って休みたい!意外と謎の女からの手紙に出会った!彼女は次の村への地図を知っています。しかし、彼女の家業は大きすぎるので、彼女は一人で忙しくすることはできません。それで、彼女はプロジェクト管理のタスクを実現するのを手伝ってくれる必要があります!Xiaopengpengは助けたくありませんでしたが、彼女は現れました!

この恩恵は助けられなければなりません〜女神にとって、Xiaopengpengはそれをする義務があります!彼が剣に上がったとしても、彼は火の海を進んで降ります!
女神様、私と一緒にサインして写真を撮るのを忘れないでください〜
新しい映画があれば、忘れずに教えてください〜

女神はここにいます!

タスク:ワークロード計算機

問題が発生したときに通常何をするのかわかりませんか?1つ重要なことがあります。情報を確認することを学ぶだけです!あまり多くの知識ポイントを思い出せないからです!あなたはメモを取り続けて蓄積するためにあなた自身にのみ頼ることができます!

要件1:計算時間はどのくらい
ですか?恐れることはありません!プロジェクトマネージャーが要件を教えてくれます!それは実際には非常に単純で、除算式だけです!

1プロジェクト、1人で完了するのに80時間、1日あたり10時間の作業
8日間で1.5プロジェクト(120時間)が必要です。=>二人!=> 60時間かかります

出力:作業時間
要件2:人員計算

0.5プロジェクト(40時間)!=> 20時間以内に完了してください!=> 2人必要です!
出力:働いている人の数

上記は私たちの仕事です!
このような問題が発生した場合、最初のステップは簡単に説明することです。

# 注:size代表项目大小,number代表人数,time代表工时数量
choice = int(input("请输入工作计时器的功能:"))
# 1计算时间,0计算人力
if choice == 1 :
    size = 1.5
    number = 2
    time = size * 80 / number
    print('项目大小为%.1f个标准项目,使用%d个人力完成,则需要工时数量为%d:' % (size, number,time))
else:
    # 人力计算
    size = 0.5
    time = 20.0
    number = size * 80 /time
    print('项目大小为%.1f个标准项目,如果需要在%.1f个工时完成,则需要人力数量为%d:' % (size, time, number))

演算結果:

请输入工作计时器的功能:0 
项目大小为0.5个标准项目,如果需要在20.0个工时完成,则需要人力数量为2

それが機能です!しかし、現在のバージョンでは何もできません。それでも、絶えずアップグレードする必要があります。多くの詳細は、誰もが絶えず検討する必要があります!自分で試してみるのが一番です!次は公式スタートです!今こそ、プログラマーが実行するリアルタイムです!どんなに良くてもダメ!基礎の深さが上限を決定します。神戸と同じように、彼がどれほど一生懸命働いたのか、あなたは決して知りません!成功するには、汗と涙を払わなければなりません!

バージョン1を使用するだけです

言うまでもありませんが、最初にコードを見てください。PYTHONの世界で、一緒にあなたのファンタジーを満足させてください!
前のセクションで学んだことを使用してください!独自の関数を作成してください!

choice = int(input("请输入工作计时器的功能:"))
def computer_time(choice,size, number):
    
    # 1计算时间,0计算人力
    if choice == 1 :
    #size = 1.5
    #number = 2
        time = size * 80 / number
        print('项目大小为%.1f个标准项目,使用%d个人力完成,则需要工时数量为%d:' % (size, number,time))
#else:
def computer_number(choice,size,time):
    # 人力计算
    if choice == 2:
    #size = 0.5
    #time = 20.0
    	number = size * 80 /time
    	print('项目大小为%.1f个标准项目,如果需要在%.1f个工时完成,则需要人力数量为%d:' % (size, time, number))

computer_time(choice,1.5,2)
computer_number(choice,0.5,20)

運転結果

请输入工作计时器的功能:2
项目大小为0.5个标准项目,如果需要在20.0个工时完成,则需要人力数量为2

%fは、フォーマットされた文字列が浮動小数点型であることを意味し、%。1fは、フォーマットされた文字列が小数点以下1桁の浮動小数点型であることを意味します。

バージョン2バージョンの改善

言うまでもありませんが、最初にコードを見てください。PYTHONの世界で、一緒にあなたのファンタジーを満足させてください!
実際、上記のコードにはまだいくつかの問題があります!小数点を追加できるかもしれませんが、人はどうでしょうか。1.2個人は何人ですか?だから今、私たちはこの問題を解決しなければなりません!

注意が必要なのは天井関数です!切り上げます〜


# 注:size代表项目大小,number代表人数,time代表工时数量
import math

choice = int(input("请输入工作的类型:"))
def computer_time(choice , size, number):
    global time
    # 工时计算
    if choice == 1 :
        # size = 1.5
        # number = 2
        time = math.ceil(size * 80 / number)
        print('项目大小为%.1f个标准项目,使用%d个人力完成,则需要工时数量为%d:' % (size, number,time))
def computer_number(choice , size ,time):
    global number 
    if choice == 2 :
        # 人力计算
        #size = 0.5
        #time = 20.0
        number = math.ceil(size * 80 /time)
        print('项目大小为%.1f个标准项目,如果需要在%.1f个工时完成,则需要人力数量为%d:' % (size, time, number))
    
computer_time(choice,1.5,2)
computer_number(choice,2.5,20)

演算結果:

请输入工作的类型:1
项目大小为1.5个标准项目,使用2个人力完成,则需要工时数量为60

これで大丈夫ですか?最適化されたバージョン!以下では、コードがより単純になることを願っています!

import math

# 为函数设置了三个参数,并都带有默认参数
def computer(size=1,number=None,time=None):
    # 人力计算:如果参数中填了时间,没填人数,就计算人力
    if (number == None) and (time != None):
        number = math.ceil(size * 80 / time)
        print('项目大小为%.1f个标准项目,如果需要在%.1f个工时完成,则需要人力数量为:%d人' %(size,time,number))  
    # 工时计算:如果参数中填了人数,没填时间,就计算工时
    elif (number != None) and (time == None):
        time = size * 80 / number
        print('项目大小为%.1f个标准项目,使用%d个人力完成,则需要工时数量为:%.1f个' %(size,number,time))  

# 调用函数的时候,传递两个参数,会自动计算出第三个参数
computer(size=1.5,number=2)
computer(size=0.5,time=20.0)

よく見てください!これははるかに良いことではありません!
演算結果:

项目大小为1.5个标准项目,使用2个人力完成,则需要工时数量为:60.0个
项目大小为0.5个标准项目,如果需要在20.0个工时完成,则需要人力数量为:2

一挙にバージョン3の成功または失敗

上記の継続的な努力の後、私たちのプロジェクトはすでに大丈夫ですか?もちろん違います!女神を約束することは、たとえそれが兄弟であっても、過去数年間はお金に悪いことではありませんが、極端に行われなければなりません!
言うまでもありませんが、最初にコードを見てください。PYTHONの世界で、一緒にあなたのファンタジーを満足させてください!

# 请大家一定要认真看一下!先将下面的代码改造成两个子函数和一个主函数,并调用主函数。

import math

# 第一步先定义一下采集信息的函数
def myinput():
    choice = input('请选择计算类型:(1-工时计算,2-人力计算)')
    if choice == '1':
        size   = float(input('请输入项目大小:(1代表标准大小,请输入小数)'))
        number = int(input('请输入人力数量:(请输入整数)'))
        time = None
        return size,number,time
        # 这里返回的数据是一个元组
    if choice == '2':
        size = float(input('请输入项目大小:(1代表标准大小,请输入小数)'))
        number = None
        time = float(input('请输入工时数量:(请输入小数)'))
        return size,number,time
        # 这里返回的是一个元组

# 完成计算的函数
def estimated(my_input):
    # 把元组中的数据取出来
    size   = my_input[0]
    number = my_input[1]
    time   = my_input[2]
    # 人力计算
    if (number == None) and (time != None):
        number = math.ceil(size * 80 / time)
        print('项目大小为%.1f个标准项目,如果需要在%.1f个工时完成,则需要人力数量为:%d人' %(size,time,number)) 
    # 工时计算
    elif (number != None) and (time == None):
        time = size * 80 / number
        print('项目大小为%.1f个标准项目,使用%d个人力完成,则需要工时数量为:%.1f个' %(size,number,time))  

# 主函数
def main():
    my_input = myinput() # 开辟一个地址空间!
    estimated(my_input)  # 将my_input当成参数

# 调用主函数
main()

運転結果

请选择计算类型:(1-工时计算,2-人力计算)1 
请输入项目大小:(1代表标准大小,请输入小数)3.1 
请输入人力数量:(请输入整数)5 
项目大小为3.1个标准项目,使用5个人力完成,则需要工时数量为:49.6

この時点で、コードは高くなっていますか?しかし、それはまだ終わっていません!私たちの使命は終わっていません!女神はまだ満足していないので、アップグレードを続けてください!ゲームのデザインについて考えてみてください。コードもそれから学ぶ必要がありますか?常に始まりと終わりがなければなりません!これが始まりと終わりです!
言うまでもありませんが、最初にコードを見てください。PYTHONの世界で、一緒にあなたのファンタジーを満足させてください!

import math

# 变量key代表循环运行程序的开关,这就是我们新加的设计!
key = 1

# 采集信息的函数
def myinput():
    choice = input('请选择计算类型:(1-工时计算,2-人力计算)')
    if choice == '1':
        size = float(input('请输入项目大小:(1代表标准大小,请输入小数)'))
        number = int(input('请输入人力数量:(请输入整数)'))
        time = None
        return size,number,time
        # 这里返回的数据是一个元组
    if choice == '2':
        size = float(input('请输入项目大小:(1代表标准大小,请输入小数)'))
        number = None
        time = float(input('请输入工时数量:(请输入小数)'))
        return size,number,time
        # 这里返回的是一个元组

# 完成计算的函数
def estimated(my_input):
    # 把元组中的数据取出来
    size = my_input[0]
    number = my_input[1]
    time = my_input[2]
    # 人力计算
    if (number == None) and (time != None):
        number = math.ceil(size * 80 / time)
        print('项目大小为%.1f个标准项目,如果需要在%.1f个工时完成,则需要人力数量为:%d人' %(size,time,number)) 
    # 工时计算
    elif (number != None) and (time == None):
        time = size * 80 / number
        print('项目大小为%.1f个标准项目,使用%d个人力完成,则需要工时数量为:%.1f个' %(size,number,time))  

# 询问是否继续的函数,这就是设计的创新点
def again():
    # 声明全局变量key,以便修改该变量
    global key
    a = input('是否继续计算?继续请输入y,输入其他键将结束程序。')
    if a != 'y':
        # 如果用户不输入'y',则把key赋值为0
        key = 0  

# 主函数
def main():
    print('女神,欢迎使用工作量计算小程序!')
    while key == 1:
        my_input = myinput()
        estimated(my_input)
        again()
    print('感谢使用工作量计算小程序!')

main() # 开辟地址空间

細部に気づいたかしら!たとえば、def main、def computer、def my_input、およびdef mainには、computerやmy_inputなどの関数が含まれていますが、最後にmain()が残っているのはなぜですか?アドレス空間を開く必要がありますか?この質問は誰もが考えるために残されています!問題を解決してください!
以下のこの記事に詳細な回答があります!

https://www.zhihu.com/question/49136398 

実際、main()はプログラムのエントリポイントです!

運転結果


欢迎使用工作量计算小程序!
请选择计算类型:(1-工时计算,2-人力计算)2
请输入项目大小:(1代表标准大小,请输入小数)9.0
请输入工时数量:(请输入小数)8
项目大小为9.0个标准项目,如果需要在8.0个工时完成,则需要人力数量为:90人
是否继续计算?继续请输入y,输入其他键将结束程序。n
感谢使用工作量计算小程序!

上司が来ています

このセクションの内容は実際にはかなり複雑です!アニメーション画像を追加する理由は、誰もが退屈で退屈だと感じないようにするためです!言語学習はまだあなた自身の情熱に依存しています!あなたがそれを良い友達と見なすならば、すべての問題は非常に簡単です!知識とは、学びすぎることではなく、ある種の思考を学ぶ手助けをすることです。問題を解決する1つの方法!PYTHONシリーズは常にオリジナリティと無料を追求します!良いことはみんなと共有しなければなりません!同時に、オリジナリティは容易ではなく、皆様のご支援とご鞭撻を賜りますようお願い申し上げます。皆さん、ありがとうございました!今回はBOSSがアップグレードされます!みんなにサスペンスを残して!次号でお会いしましょう!

厳粛に説明する:私たちはPYTHONの学習方法についてのみ話し、女神を追いかける方法については話しません。良い方法があれば、みんなに伝える記事を書けます!
次号はもっとエキサイティングになります!さよならは言わない!

私の「人間性の弱さ」を読んで、あなたに別の感覚を与えるために、みんなを歓迎します!

おすすめ

転載: blog.csdn.net/weixin_46259642/article/details/112434736