python-3.x 如何从数组和用户输入中减去?

eqoofvh9  于 2023-03-04  发布在  Python
关注(0)|答案(4)|浏览(133)

我使用Grok Learning来编写这段代码,我必须做一些类似的事情:
天气预报
编写一个程序,询问用户本周何时下雨,然后告诉他们有多少天没有下雨。
与程序的交互应如下所示:
哪几天下雨?星期一星期二星期三
无雨天数:4
或者像这样:
哪几天下雨?星期四
无雨天数:6
您不需要检查用户的输入是否有意义(例如,他们是否输入了有效的星期几)。
这是我的当前代码:

day = ['monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday']
day1 = ['Mon', 'Tues', 'Wed', 'Thurs', 'Fri', 'Sat', 'Sun']
days = input("Which days had rain? ")
for days in day:
  count = days - day
print("Number of days without rain: " + str(len(day)) + count)

我不知道这将如何工作,因为我想用"天"减去"天",然后打印出剩下的整数。我很困惑。请帮助!谢谢!

pgpifvop

pgpifvop1#

第一个问题是,当你要求用户输入时,你会得到一个字符串,所以,如果你输入如下内容:Monday Tuesday hotdog,那么days变量将如下所示:
"Monday Tuesday hotdog"
所以,正如你所说,你不关心输入是什么,只要你能得到多少天,这意味着一个数字,因此,你想得到字符串的长度,或者换句话说,字符串中有多少个单词,你可以简单地得到如下:

len(days.split())

那么,现在你有多少天。你所要做的就是简单地减去:

7 - len(days.split())

因此,您的代码可以简单地如下所示:

days = input("Which days had rain? ")
print("Number of days without rain: {}".format(7 - len(days.split())))

演示:

Which days had rain? m w f s
Number of days without rain: 3

或者:

Which days had rain? Monday Thursday
Number of days without rain: 5
doinxwow

doinxwow2#

首先,设day为可能天数的list

day = ['monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday']

然后,您应该输入:

days = raw_input("Which days had rain? ")

因为,您可以输入多天,您应该split它们。

input_list = days.split()

现在必须计算days列表中有多少个input?如何计算?

count=0  # counts the number of valid input days 
for input in input_list:  # insures you are checking all the inputs one by one
    if any(input in day for day in days): # check if input exists in the `days` list.
        count+=1

print len(days)-count
zwghvu4y

zwghvu4y3#

您不需要检查用户的输入是否有意义(例如,他们是否输入了有效的星期几)。

rainyDays = input("Which days had rain? ")
sepDay = rainyDays.split(' ')

for i in sepDay:
    indexOfDays = sepDay.index(i)
    x = 6 - indexOfDays
    if rainyDays == "":
        x = 7 - indexOfDays
print("Number of days without rain: " + str(x))

结果
哪几天下雨?星期一星期二星期三任何一天无雨天数:3
进程已完成,退出代码为0

wztqucjr

wztqucjr4#

data = input('Which days had rain? )
days = data.split()
print('Number of days without rain:', 7 - len(days))

这是它的示例代码和简单的方法.

相关问题