题目:已知字符串s='苹果:12个;梨:20个;桔子:35个;香蕉:18个',试编写程序,实现以下功能:
我的答案:
str='苹果:12个;梨:20个;桔子:35个;香蕉:18个'
a=int(input("请输入水果:"))
b=(a-1)*3
c=str[b:b+6]
print("水果共有",c)
运行的时候报错了,请问如何修改
# 定义字符串s
s = '苹果:12个;梨:20个;桔子:35个;香蕉:18个'
# 将字符串s按照分号分割,得到一个列表
lst = s.split(';')
# 定义一个空字典,用于存储水果和个数的对应关系
dic = {}
# 遍历列表中的每个元素
for item in lst:
# 将每个元素按照冒号分割,得到水果和个数
fruit, num = item.split(':')
# 去掉个数中的'个'字,转换为整数类型
num = int(num[:-1])
# 将水果和个数作为键值对存入字典中
dic[fruit] = num
# 提示用户输入水果
fruit = input('请输入水果:')
# 判断用户输入的水果是否在字典中
if fruit in dic:
# 如果在字典中,输出对应的个数
print(f'{fruit}总共有{dic[fruit]}个。')
else:
# 如果不在字典中,输出提示信息
print('没有找到该水果。')
。。。。。又想吐槽了
a = int(input()) 是个什么鬼?你要记录的是水果名,不是数字,为什么要用int?
b = (a-1) * 3 是个什么逻辑?你的水果又不都是2个字的,你有梨的存在啊
c = str[b:b+6] 又是个什么逻辑?什么水果的数字有6个数字那么多?你批发呢?
#!/usr/bin/env python
#-*- coding: utf-8 -*-
#!/usr/bin/env python
import sys
import cv2
import os
from PIL import Image
from PIL import ImageDraw
os.getcwd()
path = os.path.join(os.getcwd(),'image')
print(path)
im_file = os.listdir(path)
for im_file_index_i in im_file:
os.getcwd()
path = os.path.join(os.getcwd(), 'image')
# im_test = os.path.join(path, im_file_index_i)
im_test = os.path.join(path, im_file_index_i)
print(im_test)
img1 = Image.open(im_test)
# ====================================================
out = Image.open(im_test)
out1 = out.transpose(Image.FLIP_LEFT_RIGHT) # 水平翻转
out2 = out.transpose(Image.FLIP_TOP_BOTTOM) #垂直翻转
out3 = out.rotate(45) #45°顺时针翻转
# out4 = img.rotate(30) #30°顺时针翻转
#out1.show()
#out2.show()
#out3.show()
# out4.show()
name1 = '/home/.../image/' + im_file_index_i
out1.save(name1)
name2 = '/home/.../image/' + im_file_index_i
out2.save(name2)