北理工python第五周作业

博客记录了Python编程的几道题目解题情况。包括随机数运用题需回想格式,判断质数题因int()转换问题WA,汉诺塔题难以理解,还有简单题及表述不清的经典题目,部分题有改进思路。
部署运行你感兴趣的模型镜像

第一题,原题,主要是随机数的运用,三门语言一起学,每次到Python的时候都要回想一下格式是什么

import random

from time import perf_counter

c=input()

darts=int(c)

random.seed(123)

hits=0.0

for i in range(darts):

    x,y=random.random(),random.random()

    dist = pow(x**2+y**2,0.5)

    if dist<=1.0:

       hits=hits+1

pi=4*(hits/darts)

print("{:.6f}".format(pi))

第二题

这道题主要是判断质数,我的想法是用循环while else语法

然后WA了一个,原因就是用int()转浮点数的时候,会四舍五入,但是应该是向下取整

加一个

m = m + 1 if m < n else m

就行了

# 请在...补充一行或多行代码


def prime(m):

    i=0

    j=0

    while i<5:

        x=m+j

        k=1

        while k<x-1:

            k=k+1

            if x%k == 0:

                break

        else :

            i=i+1

            if i!=5:

                    print("{:},".format(x),end="")

                   

            elif i == 5:

                    print(x,end="")

                   

        j=j+1

n = eval(input())

m=int(n)

m = m + 1 if m < n else m

prime(m)

第三题,汉诺塔

虽然是原题,虽然我至少看过三个解析,但是我TM就是不能完全理解,还是先看老师的代码吧

# 请在...补充一行或多行代码

steps = 1

def hanoi(src, des, mid, n):

    global steps

    if n == 1:

        print("[STEP{:>4}] {}->{}".format(steps,src, des))

        steps+=1

    else:

        hanoi(src,mid,des,n-1)

        print("[STEP{:>4}] {}->{}".format(steps,src, des))

        steps+=1

        hanoi(mid,des,src,n-1)

N = eval(input())

hanoi("A", "C", "B", N)

第四题 太简单

第五题

经典题目说不清楚话

山本,到底是每次三位数,还是三次一位数构造

#请在...补充代码

import random


def genpwd(length):

    y=1

    for i in range(length):

        y*=10

    x=random.randint(y/10,y)

    return x


length = eval(input())

random.seed(17)

for i in range(3):

print(genpwd(length))

不过用Pow显然比我这里会短一些

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

### 关于北京理工大学Python语言程序设计课程资源 在北京理工大学的《Python语言程序设计》课程中,学生可以通过多种方式获取作业资料和教程。这些材料不仅限于纸质教材,还包括在线平台上的编程实例、视频讲解以及互动练习。 #### 获取官方教学资源 学校通常会提供一套完整的电子版讲义和习题集给选修该门课的学生。这类文档往往包含了详细的理论知识点介绍、经典算法案例分析等内容[^1]。对于希望深入理解Python语法特性的同学来说非常有帮助。 #### 利用网络开源社区 除了校内资源外,互联网上有许多优质的第三方学习网站可以作为补充参考资料。例如GitHub上有很多由其他高校师生分享出来的高质量项目源码;Stack Overflow则是遇到技术难题时寻求解决方案的好地方。通过参与讨论区交流还可以结识更多志同道合的朋友共同进步[^2]。 #### 参考具体实践例子 下面给出一个简单的温度转换器代码片段用于展示如何处理用户输入并完成相应的逻辑运算: ```python temp_str = input("") if temp_str[-1] in ['F', 'f']: celsius = (eval(temp_str[:-1]) - 32) / 1.8 print(f"{celsius:.2f}C") elif temp_str[-1] in ['C', 'c']: fahrenheit = eval(temp_str[:-1]) * 1.8 + 32 print(f"{fahrenheit:.2f}F") else: print("输入格式错误") ``` 这段代码展示了如何利用`input()`函数接收来自用户的字符串形式的数据,并对其进行适当解析以实现华氏度与摄氏度之间的相互转换功能[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值