1、编写程序。如图所示的算法,请用Python程序写出实现该算法相应的代码。
2、水仙花数是指一个三位数,它的每个位上的数字的33次方之和就等于它本身,例如:1^{3} + 5^{3} + 3^{3} = 153。这类三位数也被叫做自恋数、自幂数或者阿姆斯特朗数。现通过键盘输入一个数,判断这个数是否是水仙花数,如果是水仙花数,输出YES,否则输出NO。
3、猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半再多加一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
4、一个富翁试图与陌生人做一笔换钱生意,换钱规则为:陌生人每天给富翁10万元钱,直到满一个月(30天);而富翁第一天给陌生人1分钱,第2天给2分钱,第3天给4分钱,…,富翁每天给穷人的钱是前一天的两倍,直到满一个月,分别显示富翁给陌生人的钱和陌生人给富翁的钱各是多少?
5、一小球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
6、编写程序打印考拉兹序列,输入任意一个正整数,如果为奇数则将其乘3加1,如果为偶数则将其除以2,输出结果值并再次对结果值执行上述操作,如此循环直到结果值为1时结束。
7、编写一个程序输出同时掷出两个骰子所有可能地结果组合(例如1,2与2,1为同一组合,不应重复输出)。输出应如下所示。1+1, 1+2, 1+3,…
8、输入一个日期,计算这一天是当年的第几天(日期输入格式:2023-03-02)
9、本金10000元存入银行,年利率是千分之三。每过1年,将本金和利息相加作为新的本金。计算5年后,获得的本金是多少。
10、编写一个程序,它将找到 1000 到 3000之间的所有这些数字(均包括在内),这样数字的每个数字都是偶数。获得的数字应以逗号分隔的顺序打印在一行上。
(在此部分列出保持缩进格式的程序代码及运行结果截图,请注意保持格式统一,截图清晰,大小合适)
1、编写程序。如图所示的算法,请用Python程序写出实现该算法相应的代码。
#程序名:test2.1
#功 能:实现选择结构
#作 者:xx
#日 期:2023.3.12
#思 路:利用多个if-else语句即可
a = int(input("Enter the number of a: "))
b = int(input("Enter the number of b: "))
c = int(input("Enter the number of c: "))
if c < a and c > b:
print(c);
else:
if b > a:
print(b)
else:
print(a)
2、水仙花数是指一个三位数,它的每个位上的数字的3次方之和就等于它本身,例如:1^{3} + 5^{3} + 3^{3} = 153。这类三位数也被叫做自恋数、自幂数或者阿姆斯特朗数。现通过键盘输入一个数,判断这个数是否是水仙花数,如果是水仙花数,输出YES,否则输出NO。
#程序名:test2.2
#功 能:实现判断是否为水仙花数
#作 者:xx
#日 期:2023.3.12
#思 路:利用多个while语句将数的每一位提炼出来即可
num = int(input("请输入数字:"))
x = num
tem = 0
i = 0
while x:
i = x % 10
tem += i * i * i
x //= 10
if tem == num:
print("YES")
else:
print("NO")
3、猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半再多加一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
#程序名:test2.3
#功 能:实现猴子吃桃问题
#作 者:xx
#日 期:2023.3.12
#思 路:利用多个if-else语句即可
tao = 1
i = 0
while i < 9:
tao = (tao + 1) * 2
i += 1
print(f"总的桃数为{tao}")
4、一个富翁试图与陌生人做一笔换钱生意,换钱规则为:陌生人每天给富翁10万元钱,直到满一个月(30天);而富翁第一天给陌生人1分钱,第2天给2分钱,第3天给4分钱,…,富翁每天给穷人的钱是前一天的两倍,直到满一个月,分别显示富翁给陌生人的钱和陌生人给富翁的钱各是多少?
#程序名:test2.4
#功 能:实现选择结构
#作 者:xx
#日 期:2023.3.12
#思 路:利用for进行计算即可
sum1 = 0
sum2 = 0
i = 10
j = 0.01
for x in range(30):
sum1 += i;
sum2 += j
j = j * 2
print(f"富翁获得{sum1}万元")
print(f"陌生人获得{sum2}元")
5、一小球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
#程序名:test2.5
#功 能:实现判断第十次反弹的高度
#作 者:xx
#日 期:2023.3.12
#思 路:利用while语句即可
i= 0
h = 100
high = 0
while i < 10:
high += h
h /= 2
i += 1
print(f"总共经过{high}m")
print(f"第十次反弹{h}m高")
6、编写程序打印考拉兹序列,输入任意一个正整数,如果为奇数则将其乘3加1,如果为偶数则将其除以2,输出结果值并再次对结果值执行上述操作,如此循环直到结果值为1时结束。
#程序名:test2.6
#功 能:实现选择结构
#作 者:xx
#日 期:2023.3.12
#思 路:利用多个if-else语句即可
x = int(input("请输入数字:"))
while x != 1:
if x % 2 ==1:
x = x * 3 +1
print(x)
else:
x /= 2
print(x)
7、编写一个程序输出同时掷出两个骰子所有可能地结果组合(例如1,21,2与2,12,1为同一组合,不应重复输出)。输出应如下所示。1+1, 1+2, 1+3, …
#程序名:test2.7
#功 能:实现选择结构
#作 者:xx
#日 期:2023.3.12
#思 路:利用多个if-else语句即可
for i in range(1,7):
j = i + 1
for j in range(i,7):
print(f"{i} + {j}")
8、输入一个日期,计算这一天是当年的第几天(日期输入格式:2023-03-02)
#程序名:test2.8
#功 能:实现判断第多少天
#作 者:xx
#日 期:2023.3.12
#思 路:判断闰年,然后相加天数即可
data = [31,28,31,30,31,30,31,31,30,31,30,31]
time = input("Please enter the time xxxx-xx-xx")
time1 = time.split('-')
year = int(time1[0])
mouth = int(time1[1])
day = int(time1[2])
if year % 400 == 0 or (year % 4 == 0 and year % 100 == 0): #判断是否为闰年
data[1] = 29
sum = 0
for i in range(12): #相加天数
if i + 1 < mouth:
sum += data[i]
else:
sum += day
break
print(f"这是{year}中的第{sum}天!")
9、本金10000元存入银行,年利率是千分之三。每过1年,将本金和利息相加作为新的本金。计算5年后,获得的本金是多少。
#程序名:test2.9
#功 能:实现判断总钱数
#作 者:xx
#日 期:2023.3.12
#思 路:利用for循环语句即可
total = 10000
for i in range(5):
total += total * 0.003
print(f"最后总钱数为{total}!!")
10、编写一个程序,它将找到 1000 到 3000之间的所有这些数字(均包括在内),这样数字的每个数字都是偶数。获得的数字应以逗号分隔的顺序打印在一行上。
#程序名:test2.10
#功 能:实现输出1000-3000,每个数字位为偶数的数字
#作 者:xx
#日 期:2023.3.12
#思 路:利用多个双重for循环判断每个数字位是否为偶数即可
list = []
for i in range(1000, 3001):
flag = True
for digit in str(i): #将其转换为str类型
if int(digit) % 2 != 0: #如果不是偶数推出当前循环
flag = False
break
if flag == True: #如果符合要求即输出
list.append(i)
for i in list:
print(i,end = ',')
(包括问题和解决办法、心得体会、意见与建议等)
(包括问题和解决办法、心得体会、意见与建议等)