python每日练习0730
""" 1、 现有面包、热狗、番茄酱、芥末酱以及洋葱,数字显 示有多少种订购组合, 其中面包必订,0 不订,1 订,比如 10000,表示只订购面包 """ count = 0 for b in '1': for h in '01': for f in '01': for t in '01': print(b+h+f+t) count += 1 print("一共有%s种组合" %count) """ 2、输入 5 个名字,排序后输出 """ name_list = ['Lucy','Tom','Arm','HOOT','Aood'] result = sorted(name_list) print(result) """ 3、实现一个简单的单词本 - 功能: - 可以添加单词和词义,当所添加的单词已存在,让用户知道; - 可以查找单词,当查找的单词不存在时,让用户知道; - 可以删除单词,当删除的单词不存在时,让用户知道; - 以上功能可以无限制操作,直到用户输入 bye 退出程序。 """ info = ''' add:add the word and word mean find:find the word del:delete the word bye:quit the program ''' print(info) word_dict = {} while 1: commant = input("请输入指令:") if commant == 'bye': break if commant == 'add': word = input("请输入需要添加的单词:") word_mean = input("请输入单词的意思:") if word not in word_dict: word_dict[word] = word_mean else: print("the word is already exists") elif commant == 'find': word = input("请输入您需要查找的单词:") if word in word_dict: print(word_dict[word]) else: print("the word is not exists") elif commant == 'del': word = input("请输入需要删除的单词:") if word not in word_dict: print("the word is not exists") else: del word_dist[word] """ 4、输入一个正整数,输出其阶乘结果 """ n = int(input("请输入一个正整数:")) res = 1 for i in range(1,n+1): res *= i print(res) #5、输入 3 个数字,以逗号隔开,输出其中最大的数 nums = input("请输入3个数字,以,隔开") nums_list = nums.split(',') nums_int_list = list(map(int,nums_list)) print(nums_int_list) max_num = nums_iny_list[0] for i in nums_int_list: if i > max_num: max_num = i print(max_num) # 6、求两个正整数 m 和 n 的最大公约数 result = [] m = 100 n = 550 for i in range(2,m+1): if m % i == 0 and n % i == 0: result.append(i) for j in range(2,n+1): if m % j == 0 and n % i == 0: result.append(j) print(result) print(max(result)) #第二章:控制流 #习题 1:设定一个用户名和密码,用户输入正确的用户名和 密码,则显示登录成功, # 否则提示登录失败,用户最多失败3 次,否则退出程序。 #提示:使用 while 或者 for 来限定重试的次数, username = 'feng' pwd = '123456' for i in range(3): input_username = input('please input username:') #input需要放在循环题里面 input_pwd = input('please input password:') if input_username == username and input_pwd == pwd: print('secessfull login!') else: print('username or pws is error') if i == 2: print('times is off') #习题 2:自己实现一个函数,在一句话中查找某个单词的算发,存在返回索引号,否则返回 False s = 'I am a good good girl ~~ I can fly~~' def findWord(s,word): res = [] if not isinstance(s,str) or not isinstance(word,str): return None length = len(word) if word not in s: return False for i in range(len(s)): if s[i:i+length] == word: res.append(i) return res print(findWord(s,'good')) print(findWord(s,'I')) print(findWord(s,'AAA')) print(findWord(s,5)) #习题 3:随机生成一个整数,1-100 之间你最多猜 5 次, # 如果猜大了,提示大了小了,提示小了,猜对了,提示猜中。 # 5 次都没猜中,就猜没猜中。 import random random_num = random.randint(1,100) for i in range(5): input_num = int(input('please input number:')) if input_num == random_num: print("恭喜~~猜对啦~~") elif input_num > random_num: print("猜大了~~") elif input_num < random_num: print("猜小了") if i == 4: print('times is out') #习题 4:使用 while,计算随机数之和,超过 100 的时候,停止程序。 # 随机数 1-20 的范围产生,要求记录一下产生的随机数,以及最后的和,以及随机数的个数。 import random random_num_list = [] sum_num = 0 while sum_num < 100: #sum_num = 0 random_num = random.randint(1,20) random_num_list.append(random_num) for i in random_num_list: sum_num += i print("产生的随机数是:",random_num_list) print("产生的随机数之和是:%s" %sum_num) print("产生的随机数的个数是:%s" %len(random_num_list)) #习题 5:遍历一个列表中的嵌套列表和元组的所有元素 # 将 1-12 的数字进行输出![[[1,2,3],4,5],7,8,(9,10,(11,12))] s = [[[1,2,3],4,5],7,8,(9,10,(11,12))] for i in s: if isinstance(i,(list,tuple)): for j in i: if isinstance(j,(list,tuple)): for v in j: print(v) else: print(j) else: print(i) #习题 6:判断一个数是否是素数 def isprime(n): for i in range(2,n): if n % i == 0: return False else: return True print(isprime(5)) print(isprime(50)) #习题 7:求 100 以内的素数和 result =[] for i in range(1,101): if isprime(i): result.append(i) print(result) #习题 8:用户输入多个数字, # 当输入偶数的时候求和,输 入奇数,不求和,输入.(一个点)的时候结束求和,打印求 和结果 sum_num = 0 while 1: num = input("请输入一个正整数:") if num =='.': break if int(num) % 2 == 0: sum_num += int(num) if int(num) % 2 != 0: pass print("输入的数字之和是:%s" %sum_num) #习题 9:嵌套循环输出 10-50 中个位带有 1-5 的所有数字: #方法 1:数字和 10 取余,判断是否大于 0 并且小于等于 5 #方法 2:将数字转换为 str,取各位的字符判断字符是否在 1-5 内。 #方法 3:拼接数字 for i in range(10,51): if 0 < i % 10 <= 5: print(i, end =' ') for i in range(10,51): if str(i)[-1] in '12345': print(i,end =' ') for i in range(1,5): for j in range(1,6): print(str(i) + str(j)) #习题 10、 用户输入不同的数据,当输入的数据达到 3 个数 字的时候,求和结束程序。 # (数字可以是整数) result = 0 for i in range(3): num = int(input("请输入数字:")) result += num print(result)
#需要考虑输入的是不是数字
result = 0
for i in range(3):
s = input("请输入:")
if s not in '0123456789':
pass
else:
result += int(s)
print(result)