Python编程与算法基础问答

54、描述break语句的用途以及它适合解决的问题类型。

  • break 语句的用途是从循环体中退出循环。
  • 它主要适用于循环至少要执行一次,且需要从循环体中设置单一退出点的情况。
  • 通常将其嵌套在用于测试终止条件的 if 语句中。
  • 此时循环头部的条件通常为 True

55、在数字 N 和 M 之间正确猜出一个给定数字所需的最大猜测次数是多少?

理想情况下,最大猜测次数不超过 log₂(upper – lower + 1) 次,其中 upper 为较大数,lower 为较小数。

56、当程序员在 while 循环中忘记更新循环控制变量时会发生什么?

  • 结果会是一个无限循环,这甚至不能算作一个算法。
  • 在测试期间,若要停止看似卡住的循环,可在终端窗口或 IDLE 外壳中输入 Control + c。

57、编写一个计算平方根的程序。

以下是一个计算平方根的 Python 程序:

import math
# 接收用户输入的数字
x = float(input("Enter a positive number: "))
# 初始化容差和估计值
tolerance = 0.000001
estimate = 1.0
# 进行逐次逼近
while True:
    estimate = (estimate + x / estimate) / 2
    difference = abs(x - estimate ** 2)
    if difference <= tolerance:
        break
# 输出结果
print("The program's estimate:", estimate)
print("Python's estimate: ", math.sqrt(x))

58、假设变量 data 指向字符串 “myprogram.exe”。写出表达式 data[2] 的值。

p

59、假设变量 data 指向字符串 “myprogram.exe”。写出表达式 data[-1] 的值。

e

60、假设变量 data 指向字符串 “myprogram.exe”。写出表达式 len(data) 的值。

13

61、假设变量 data 指向字符串 “myprogram.exe”。写出表达式 data[0:8] 的值。

myprogra

62、假设变量 data 指向字符串 “myprogram.exe”。写出从 data 中提取子字符串 “gram” 的表达式。

data[5:9]

63、假设变量 data 指向字符串 “myprogram.exe”。编写一个表达式,从 data 中去掉扩展名 “.exe”。

data[:-4]

64、假设变量 data 指向字符串 “myprogram.exe”。请写出提取该字符串中间位置字符的表达式。

data[len(data) // 2]

65、假设变量 myString 引用一个字符串。编写一个代码段,使用循环以逆序打印该字符串的字符。

以下是实现该功能的代码段:

myString = "your_string"
for i in range(len(myString) - 1, -1, -1):
    print(myString[i])

你可以将 "your_string" 替换为实际的字符串。

66、假设变量 myString 引用一个字符串,变量 reversedString 引用一个空字符串。编写一个循环,将 myString 中的字符以相反的顺序添加到 reversedString 中。

myString = "示例字符串"
reversedString = ""
for i in range(len(myString) - 1, -1, -1):
    reversedString = reversedString + myString[i]

67、使用距离值为 3 的凯撒密码写出以下每个单词的加密文本:a. python b. hacker c. wow

a. sbwkrq b. kdfnhu c. zrz

68、给定一个由未知距离值的凯撒密码加密的字符串,该文本可以包含任何可打印的 ASCII 字符。请提出一种破解此代码的算法。

假定有 128 个 ASCII 字符,编写一个程序,将同一行文本通过扩展解密脚本,使用 0 到 127 的值进行处理,直到返回有意义的明文。在大多数现代计算机上,这一过程不到一秒即可完成。

69、将以下十进制数转换为二进制数:a. 47₁₀ b. 127₁₀ c. 64₁₀

  • 可使用将十进制转换为二进制的算法,即反复将十进制数除以2,将余数置于二进制字符串开头,直至十进制数为0。
  • a. $ 47_{10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值