一、换钱的交易
题干:一个百万富翁碰到一个陌生人,陌生人找他谈了一个换钱的计划.该计划如下:我每天给你10万,而你第一天给我一元钱,第二天我仍给你十万,你给我二元钱,第三天我仍给你十万,你给我四元钱......你每天给我的钱是前一天的两倍,直到满n(0<=n<=30)天.百万富翁非常高兴,欣然接受了这个契约.请编写一个程序,计算这n天中,陌生人累计给了富翁多少钱,富翁累计给了陌生人多少钱.
检验例子:30天 富翁3000000 陌生人1073741823元.
sor = int(input())
i = 1
stranger=1
rich_man = 100000
for j in range(1,sor):
stranger += (i*2)#1.3 2.7 3.15
rich_man += 100000
i = i*2#2 4 8
print(rich_man)
print(stranger)
二、找到最大最小的数
题干:用户输入若干整数,试找出其中的最大数和最小数。
输入样例:
5
89 62 96 74 52
输出样例:
96 52
num_count = int(input())
num_str = map(int,input().split(" "))
num_str = list(num_str)
num_str.sort()
print(int(num_str[num_count-1]),int(num_str[0]))
三、 分别统计输入中字母、数字的个数
分别统计标准输入中字母、数字字符个数。从标准输入中读取一个字符串,可以包含任意字符。分别输出字符串中字母(大小写字母都要进行统计)、数字个数,相邻数字之间用一个空格区分,输出末尾没有空格。
word_str = input()
num_list = 0
word_list = 0
for i in word_str:
if('0'<=i<='9'):
num_list += 1
if('A'<=i<='Z' or 'a'<=i<='z'):
word_list +=1
print(word_list,num_list)
四、 求水仙花数
题干:输入一个正整数N(N大于等于100小于等于999),求出100~N之间的所有水仙花数。所谓 的水仙花数是:如果一个三位数的个位数、十位数、百位数的立方和等于该数自身,就称这个数为水仙花数。输入一个正整数N。输出从100到N之间的所有水仙花数,每个数以回车结束。
N = int(input())
for i in range(100,N+1):
ge = i%10
a = i-ge
shi = (a//10)%10
bai =i//100
ge **=3
shi **=3
bai **=3
if(i == ge+shi+bai):
#print(ge,shi,bai,)
print(i)
五、素数判断
由键盘当输入一个整数n,对它进行判断,当为素数时,输出1.否则,输出0.控制台输入一个整数。控制台输出判断结果0或者1.
num =int(input())
a =list()
for i in range(2,num+1):
flag = True#2-7
for j in range(2,i):#
if(i%j == 0):
flag = False
#print("1")
break#if(i ==1 or i == num):
if (flag):
a.append(i)
else:
pass
if(a[len(a)-1] == num):
print("1")
else:
print("0")
此题与之前写过的一个题有异曲同工之妙,可以再次去看看详细揣摩一下。
六、外卖随机
每天很多人都有不知道吃饭时刻吃什么,那么为了解决这个烦恼我们就将它托付给无情的代码吧,当机立断一些
import random
txt_path = input("请输入txt的文件的path:")
txt = open(f'{txt_path}','r',encoding='utf-8');
name_list = [];
for i in txt:
i = i.replace('\n','')
name_list.append(i)
print(name_list)
txt.close()
while True:
if(len(name_list) == 0):
print("结束!");
break;
num = random.randint(0,len(name_list)-1);
a = input("按下空格退出,按下其他键继续:")
if(a == '\0'):
print('结束!')
break
else:
print(f'本次选中的是:{name_list[num]}')
an = input("您对结果是否满意,若满意则按下X/x,不满意则请按q/Q:")
if(an == 'q' or an == 'Q'):
continue
if(an == 'x' or an == 'X'):
break
这里我们使用了open()打开我们输入的文件地址(这个文件写着所有外卖的名字或者相干信息)这里讲一下这个open()函数
file = open(file_name [, mode='r' [ , buffering=-1 [ , encoding = None ]]])
此格式中,用 [] 括起来的部分为可选参数,即可以使用也可以省略。其中,各个参数所代表的含义如下:
- file:表示要创建的文件对象。
- file_name:要创建或打开文件的文件名称,该名称要用引号(单引号或双引号都可以)括起来。需要注意的是,如果要打开的文件和当前执行的代码文件位于同一目录,则直接写文件名即可;否则,此参数需要指定打开文件所在的完整路径。
- mode:可选参数,用于指定文件的打开模式。可选的打开模式如表 1 所示。如果不写,则默认以只读(r)模式打开文件。
- buffering:可选参数,用于指定对文件做读写操作时,是否使用缓冲区(本节后续会详细介绍)。
- encoding:手动设定打开文件时所使用的编码格式,不同平台的 ecoding 参数值也不同,以 Windows 为例,其默认为 cp936(实际上就是 GBK 编码)
剩下的我们只要将生成的随机数来断定我们吃饭吃什么吧!
同时为了怕你挑我们还增加了函数的可持续性,如果不满意我们继续随机,我们可以看到每次随机的外卖是不一样的,因此也不必担心关掉后会不会有影响。