这就是我的问题:通过命令行参数,由空格分隔的三个字符串被赋予you.Each字符串是由连字符(-)分隔的一系列数字。您喜欢字符串1中的所有数字,但不喜欢字符串2中的所有数字。第三个字符串包含赋予you.your的数字,初始幸福度为0。当你遇到字符串1中的数字时,将你的幸福感加1,如果它出现在字符串2中,将-1添加到你的happiness.Otherwise中你的幸福感不会在最后change.Output你的最终幸福感。
Sample input: 3-1 5-7 1-5-3-8
Sample output: 1说明:字符串1中的数字: 3,1。字符串2中的数字: 5,7。提供给您的数字: 1,5,3,8。字符串1中的数字1和3将获得1个单位的幸福感。现在,您的总幸福感是2。你为字符串2中的数字5损失了1个单位的幸福感,现在你的总幸福感是1。8没有出现在这两个字符串中,所以幸福感不会change.Final change.Final is 1。
这是我所理解的。我的代码如下:
from sys import argv
print("Number in string1:",argv[1])
print("Number in string2:",argv[2])
print("Number in string3:",argv[3])
if i in argv[3]== i in argv[1]:
count=count+1
if i in argv[3]==i in argv[2]:
count=count-1
print("Happiness=",count)但这并不能帮到我,我是初学者,命令行参数实际上是预先定义的( confusing.Thanks )。
发布于 2020-04-03 06:51:37
首先,您需要将命令行参数中给出的字符串转换为列表:
liked_numbers = argv[1].split("-")
disliked_numbers = argv[2].split("-")
given_numbers = argv[3].split("-")使用您的示例输入,这将以以下格式显示列表:
liked_numbers = '3','1‘
disliked_numbers = '5','7‘
given_numbers = '1','5','3','8‘
然后,您应该将每个给定的数字与其他列表进行比较。下面的代码将首先从given_numbers中获取一个数字并在liked_numbers中搜索它,然后它将在disliked_numbers中搜索它,它将对given_numbers中的每个数字执行此操作:
happiness = 0
for num in given_numbers:
if num in liked_numbers:
happiness += 1
if num in disliked_numbers:
happiness -= 1
print(happiness)https://stackoverflow.com/questions/60990089
复制相似问题