#!/bin/sh
curl --head --silent https://missing.csail.mit.edu
编写 Hello World 程序。
编写程序,生成一个包含 20 个随机整数的列表,然后对其中偶数下标的元素进行降序排列,奇数下标的元素不变。
判断闰年。用户输入一个年份,判断这一年是不是闰年,是输出 True,不是则输出 False。
当以下条件之一满足时,这一年是闰年:
(1) 年份是 4 的倍数而不是 100 的倍数(如 2004 年是, 1900 年不是);
(2) 年份是 400 的倍数(如 2000 年是, 1900 年不是)
阅读程序,理解字典的用法。
已知 s = 2 + 4 + 6 + 8 + … + n,求使得 不大于 100 时的 最大值。请分别用 for 和while 两种循环结构来完成。
编程打印如下图所示的字符金字塔。阅读并运行程序,理解其中的算法设计与实现思路。如果最后的 print() 语句不进行缩进,会出现什么结果?为什么?
微信红包的算法实现。阅读理解并运行下面程序,思考有没有其他的编程算法(这里需要导入random 库)。
使用 opencv 库读取并显示一张本地图片。你需要学习安装 opencv 库。
echo $SHELL
cd tmp
mkdir missing
man touch
touch semester
#!/bin/sh
curl --head --silent https://missing.csail.mit.edu
echo '#!/bin/sh' > semester
echo curl --head --silent https://missing.csail.mit.edu >> semester
cat semester
./semester
ls -l
man chmod
chmod 777 semester
ls -l
./ semester
./semester | grep last-modified > ~/last-modified.txt
cat last-modified.txt
upower -i /org/freedesktop/UPower/devices/battery_BAT0
这里未成功查询到电池的状态。
之后查找网上资料,尝试使用acpi 命令来查看电池的状态。
acpi -V
仍然没有查询到电池状态,虚拟机中可能读取不到电池信息,接下来尝试在windows的终端查询电池状态。
powercfg /batteryreport
这里出现了错误,网上查询说可能是应该要用管理员身份运行,但是改为管理员身份之后仍然报错。之后尝试使用Powercfg -energy 让系统生成一份电源效率诊断报告。
Powercfg -energy
ls -a
ls -h
ls -t
ls --color=auto
#!/bin/bash
marco(){
echo "$(pwd)" > $HOME/marco_history.log
echo "save pwd $(pwd)"
}
polo(){
cd "$(cat "$HOME/marco_history.log")"
}
#!/usr/bin/env bash
n=$(( RANDOM % 100 ))
if [[ n -eq 42 ]]; then
echo "Something went wrong"
>&2 echo "The error was using magic numbers"
exit 1
fi
echo "Everything went according to plan"
count=1
while true
do
./buggy.sh 2> out.log
if [[ $? -ne 0 ]]; then
echo "failed after $count times"
cat out.log
break
fi
((count++))
done
mkdir html_root
cd html_root
touch {1..10}.html
mkdir html
cd html
touch xxxx.html
cd ..
cd ..
find . -type f -name "*.html" | xargs -d '\n' tar -cvzf html.zip
find . -type f -mmin -60 -print0 | xargs -0 ls -lt | head -10
print('Hello World')
import random
ls = [random.randint(1, 100) for i in range(20)]
print('生成列表:', ls)
ls[::2] = sorted(ls[::2], reverse=True)
print('排序后:', ls)
stryear = input("请输入年份:")
year = int(stryear)
result = year % 400 == 0 or year % 4 == 0 and year % 100 != 0
print("闰年判断结果是:", result)
print('''|---欢迎进入通讯录程序---|
|---1、查询联系人资料---|
|---2、插入新的联系人---|
|---3、删除已有联系人---|
|---4、退出通讯录程序---|''')
addressBook = {} # 定义通讯录
while 1:
temp = input('请输入指令代码:')
if not temp.isdigit():
print("输入的指令错误,请按照提示输入")
continue
item = int(temp) # 转换为数字
if item == 4:
print("|---感谢使用通讯录程序---|")
break
name = input("请输入联系人姓名:")
if item == 1:
if name in addressBook:
print(name, ':', addressBook[name])
continue
else:
print("该联系人不存在!")
if item == 2:
if name in addressBook:
print("您输入的姓名在通讯录中已存在-->>" , name, ":",
addressBook[name])
isEdit = input("是否修改联系人资料(Y/N):")
if isEdit == 'Y':
userphone = input("请输入联系人电话:")
addressBook[name] = userphone
print("联系人修改成功")
continue
else:
continue
else:
userphone = input("请输入联系人电话:")
addressBook[name] = userphone
print("联系人添加成功!")
continue
if item == 3:
if name in addressBook:
del addressBook[name]
print("删除成功!")
continue
else:
print("联系人不存在")
m = 4
d = 4
for i in range(1, 5):
print(" " * (m - 1), "*" * (2 * i - 1))
m -= 1
if i == 4:
for y in range(1, 4):
print(" " * y, "*" * (2*d-3))
d -= 1
# for循环
sum = 0
for i in range(2, 100, 2):
sum += i
if sum >= 100:
print(i-2)
break
# while循环
sum = 0
i = 2
while sum < 100:
sum += i
i += 2
print(i-4)
n=65
for a in range(10):
print(' '*(20-a), end='')
for b in range(a-1, 0, -1):
print(chr(n+b), end='')
for b in range(a):
print(chr(n+b), end='')
print()
如果最后一行print()不进行缩进,则输出为
分析原因为print()在最外层for循环中,因而可以使每行的字母在一个新的一行,而不像上述图片那样,每层字母的位置比较混乱。
import random
total = eval(input('请输入红包总金额:'))
num = eval(input('请输入红包个数:'))
min_money = 0.01
print("红包总金额:{0}元,红包个数:{1}".format(total, num))
for i in range(1, num):
safe_total = round((total-(num-i)*min_money) / (num-i), 2)
money = round(random.uniform(min_money*100, safe_total*100)/100, 2)
total = round(total-money, 2)
print("第{0}个红包:{1}元,余额:{2}元".format(i, money, total))
print("第{0}个红包:{1}元,余额:0元".format(num, total))
import cv2
img = cv2.imread("/home/lee/cat.png")
cv2.imshow("Imge", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
def mergeSort(arr):
import math
if(len(arr) < 2):
return arr
middle = math.floor(len(arr)/2)
left, right = arr[0:middle], arr[middle:]
return merge(mergeSort(left), mergeSort(right))
def merge(left, right):
result = []
while left and right:
if left[0] <= right[0]:
result.append(left.pop(0))
else:
result.append(right.pop(0))
while left:
result.append(left.pop(0))
while right:
result.append(right.pop(0))
return result
if __name__ == '__main__':
arr = [0, 2, 3, 1, 5, 6, 4, 7, 9, 8]
result = mergeSort(arr)
print(result)
import numpy as np
a = np.array([[1, 0, 1], [2, 3, 4], [3, 5, 7]])
b = np.array([10, 33, 56])
y = np.linalg.solve(a, b)
print("x={:.2f}, y={:.2f}, z={:.2f}".format(y[0], y[1], y[2]))