Homework1
- 编写Python程序,打印"数据科学与工程导论",并使用 print(chr(0x2605)) 语句将这句话包围起来。
In [1]:
Copied!
for i in range(11):
print(chr(0x2605),end='')
print('')
print("%s数据科学与工程导论%s"%(chr(0x2605),chr(0x2605)))
for i in range(11):
print(chr(0x2605),end='')
for i in range(11):
print(chr(0x2605),end='')
print('')
print("%s数据科学与工程导论%s"%(chr(0x2605),chr(0x2605)))
for i in range(11):
print(chr(0x2605),end='')
★★★★★★★★★★★ ★数据科学与工程导论★ ★★★★★★★★★★★
- 写一个 Python 程序,输入 x, y, z 这三个数,将这三个数从小到大使用 print 函数打印出来。
In [2]:
Copied!
x = float(input("请输入第一个数: "))
y = float(input("请输入第二个数: "))
z = float(input("请输入第三个数: "))
numbers = [x, y, z]
numbers.sort()
print("从小到大排序后的结果是: ", numbers)
x = float(input("请输入第一个数: "))
y = float(input("请输入第二个数: "))
z = float(input("请输入第三个数: "))
numbers = [x, y, z]
numbers.sort()
print("从小到大排序后的结果是: ", numbers)
从小到大排序后的结果是: [63.0, 87.0, 99.0]
- 写一个 Python 程序,有 w, x, y, z 四个数,将这四个数从大到小使用 print 函数打印出来。
In [3]:
Copied!
w = float(input("请输入第一个数: "))
x = float(input("请输入第二个数: "))
y = float(input("请输入第三个数: "))
z = float(input("请输入第四个数: "))
numbers = [w, x, y, z]
numbers.sort(reverse=True)
print("从大到小排序后的结果是: ", numbers)
w = float(input("请输入第一个数: "))
x = float(input("请输入第二个数: "))
y = float(input("请输入第三个数: "))
z = float(input("请输入第四个数: "))
numbers = [w, x, y, z]
numbers.sort(reverse=True)
print("从大到小排序后的结果是: ", numbers)
从大到小排序后的结果是: [100000.0, 908.0, 109.0, 82.0]
- 写一个 Python 程序,输出 1-100 中的所有奇数。
In [4]:
Copied!
for i in range(1,101):
if i % 2 != 0:
print(i,end=' ')
for i in range(1,101):
if i % 2 != 0:
print(i,end=' ')
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99
- 写一个 Python 程序,用 for 循环,求解 1 到 100 的和。
In [5]:
Copied!
ans = 0
for i in range(1, 101):
ans += i
print(ans)
ans = 0
for i in range(1, 101):
ans += i
print(ans)
5050
- 写一个 Python 程序,分别用 for 和 while 循环实现对一个给定序列的倒排序输出。例如,给定 L=[1,2,3,4,5],输出为 [5,4,3,2,1]。
In [6]:
Copied!
def reverse_list_for(L):
for i in L[ : : -1]:
print( i, end=' ')
L1 = input("请输入list(以空格分割):").split(" ")
L2 = [ int(L1[i]) for i in range(len(L1))]
reverse_list_for(L2)
def reverse_list_for(L):
for i in L[ : : -1]:
print( i, end=' ')
L1 = input("请输入list(以空格分割):").split(" ")
L2 = [ int(L1[i]) for i in range(len(L1))]
reverse_list_for(L2)
5 4 3 2 1
In [7]:
Copied!
def reverse_list_while(L):
tmpi = len(L) - 1
ansL = []
while tmpi >= 0:
ansL.append(L[tmpi])
tmpi -= 1
return ansL
L1 = input("请输入list(以空格分割):").split(" ")
L2 = [ int(L1[i]) for i in range(len(L1))]
print(reverse_list_while(L2))
def reverse_list_while(L):
tmpi = len(L) - 1
ansL = []
while tmpi >= 0:
ansL.append(L[tmpi])
tmpi -= 1
return ansL
L1 = input("请输入list(以空格分割):").split(" ")
L2 = [ int(L1[i]) for i in range(len(L1))]
print(reverse_list_while(L2))
[6, 5, 4, 3, 2, 1]
- 写一个 Python 程序,判断一个输入的字符串 S 是否包含由两个或两个以上连续出现的相同字符组成的字符串。例如,abccccda 中就包含 cccc 这个由 4 个连续字符组成的字符串。
In [8]:
Copied!
def judge_same_chr(str_item):
for i in range(1,len(str_item)-1):
if str_item[i] == str_item[i-1] or str_item[i] == str_item[i+1]:
print("Yes")
return
print("No")
str_item=input("请输入字符串:")
judge_same_chr(str_item)
def judge_same_chr(str_item):
for i in range(1,len(str_item)-1):
if str_item[i] == str_item[i-1] or str_item[i] == str_item[i+1]:
print("Yes")
return
print("No")
str_item=input("请输入字符串:")
judge_same_chr(str_item)
Yes
- 写一个 Python 程序,输入一个字符串 S,去掉其中所有的空格后输出。例如,“DataScience and Engineering”,去掉空格后为“DataScienceandEngineering”。
In [9]:
Copied!
def remove_space(str_item):
str_list=list(str_item)
for i in range(len(str_list)):
if str_list[i] == ' ':
str_list[i] = ''
str_new = "".join(str_list)
print(str_new)
str_item=input("请输入字符串:")
remove_space(str_item)
def remove_space(str_item):
str_list=list(str_item)
for i in range(len(str_list)):
if str_list[i] == ' ':
str_list[i] = ''
str_new = "".join(str_list)
print(str_new)
str_item=input("请输入字符串:")
remove_space(str_item)
DataScienceandEngineering
- 请设计一个求 3 次方根的算法(不允许直接调用求方根的函数),并给出对应的 Python 程序。 采用牛顿迭代法求解,迭代过程数学公式表示为: $ x_{n+1}=x_n-\frac{f(x_n)}{f^{\prime}(x_n)}$
In [12]:
Copied!
def f(x):
ans = 0
if x != 0:
ans = x / 3.0
for _ in range(666):
tmp = ans - (ans**3 - x) / (3 * ans**2)
ans = tmp
return ans
n = int(input("输一个正整数"))
print(f"{n} 的三次方根是 {f(n)}")
def f(x):
ans = 0
if x != 0:
ans = x / 3.0
for _ in range(666):
tmp = ans - (ans**3 - x) / (3 * ans**2)
ans = tmp
return ans
n = int(input("输一个正整数"))
print(f"{n} 的三次方根是 {f(n)}")
216 的三次方根是 6.0
- 写一个 Python 程序,给定一个常数 n(n>0),求 n 的阶乘,即 n!=1×2×...×(n-1)×n。例如,4!=24,5!=120。
In [10]:
Copied!
def factorial(digit):
if digit == 0:
print(1)
return
ans = 1
for i in range(1,digit+1):
ans *= i
print(ans)
digit = int(input("请输入数字:")) #我输入的是10
factorial(digit)
def factorial(digit):
if digit == 0:
print(1)
return
ans = 1
for i in range(1,digit+1):
ans *= i
print(ans)
digit = int(input("请输入数字:")) #我输入的是10
factorial(digit)
3628800